我刚刚读过JavaScript中的getter/setter。
正如MDN上的文档所写:
如果你想删除setter,你可以只delete
它:delete o.current;
此代码删除setter ...
var object = {
something: "",
get property() {
return this.something
},
set property(value) {
this.something = value
}
}
object.property+="1"
object.property+="2"
object.property+="3"
object.property+="4"
console.log(object.property) //"1234"
delete object.property
console.log(object.property) //undefined
...但getter(同名)也是如此。
我需要使用相同的名称来使用+=
运算符。
所以问题是:
- 在JS中有没有办法删除setter,但保留getter?**
谢谢!
2条答案
按热度按时间qxgroojn1#
为此,请使用
Object.defineProperty
(与{set: undefined}
一起使用):这将仅删除设置器。
vx6bjr1n2#
必须更改setter和getter的名称。
这是没有意义的,因为你回忆同样的函数,它会变成:
这是不对的。
好多了。不是吗?