根据这个文档
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set
你可以这样做
var o = {
set current (str) {
this.log[this.log.length] = str;
},
log: []
}
但是如果我希望 current
变量成为对象并且我想对该对象的属性执行 setter
怎么办?
下面的好像不行
var o = {
set current.myVal (str) {
this.log[this.log.length] = str;
},
log: []
}
正确的做法是什么?我读到你可以使用 expression
但没有示例。
** 更新 1 **
下面的答案之一是正确的,但如果它是 class
呢?
class o {
set current.myVal (str) {
this.log[this.log.length] = str;
}
}
下面我试过了,没用
class o {
current: {
set myVal(str) {
o.log.push(str);
}
}
}
最佳答案
你好像在找
var o = {
current: {
set myVal(str) {
o.log.push(str);
}
},
log: []
};
但这可能是个坏主意。
关于javascript - 带有 JSON 对象的 ES6 getter setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36029644/