[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/set [Back]  [Original]

set - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

set

Baseline

20157

set

const language = {
  set current(name) {
    this.log.push(name);
  },
  log: [],
};

language.current = "EN";
language.current = "FA";

console.log(language.log);
// : Array ["EN", "FA"]

js
{ set prop(val) { /*  */ } }
{ set [expression](val) { /*  */ } }

  • 1

prop

val

prop

expression

JavaScript

Object.defineProperty()

js
const obj = {
  set prop() {
    // obj.prop 
  },
}

current language current log

js
const language = {
  set current(name) {
    this.log.push(name);
  },
  log: [],
};

language.current = "EN";
console.log(language.log); // ['EN']

language.current = "FA";
console.log(language.log); // ['EN', 'FA']

current undefined

js
class ClassWithGetSet {
  #msg = "hello world";
  get msg() {
    return this.#msg;
  }
  set msg(x) {
    this.#msg = `hello ${x}`;
  }
}

const instance = new ClassWithGetSet();
console.log(instance.msg); // "hello world"

instance.msg = "cake";
console.log(instance.msg); // "hello cake"

prototype

static

delete

delete

js
delete language.current;

defineProperty

Object.defineProperty()

js
const o = { a: 0 };

Object.defineProperty(o, "b", {
  set(x) {
    this.a = x / 2;
  },
});

o.b = 10;
//  10 / 2 (5)  'a' 

console.log(o.a); // 5

js
const expr = "foo";

const obj = {
  baz: "bar",
  set [expr](v) {
    this.baz = v;
  },
};

console.log(obj.baz); // "bar"

obj.foo = "baz";
// 

console.log(obj.baz); // "baz"

ECMAScript 2027 LanguageSpecification
# sec-method-definitions


Web Proxy Viewer  |  New URL  |  Original Page