| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/set | [Back] [Original] |
Get to know MDN better
const language = {
set current(name) {
this.log.push(name);
},
log: [],
};
language.current = "EN";
language.current = "FA";
console.log(language.log);
// : Array ["EN", "FA"]
{ set prop(val) { /* */ } }
{ set [expression](val) { /* */ } }
propvalprop
expressionJavaScript
const obj = {
set prop() {
// obj.prop
},
}
current language current log
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
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
delete delete language.current;
defineProperty 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
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 |
getObject.defineProperty()class| Web Proxy Viewer | New URL | Original Page |