Javascript 如何仅删除setter JS?

Javascript 如何仅删除setter JS?,javascript,getter-setter,delete-operator,Javascript,Getter Setter,Delete Operator,我刚刚读过JavaScript中的getter/setter 正如作者所写: 如果要删除setter,可以直接删除它: 删除o.current 此代码删除setter var对象={ 某物:“, 获取属性(){ 还这个,什么 }, 设置属性(值){ 这个东西=价值 } } object.property+=“1” object.property+=“2” object.property+=“3” object.property+=“4” console.log(object.property)

我刚刚读过JavaScript中的getter/setter

正如作者所写:

如果要删除setter,可以直接删除它:
删除o.current

此代码删除setter

var对象={
某物:“,
获取属性(){
还这个,什么
},
设置属性(值){
这个东西=价值
}
}
object.property+=“1”
object.property+=“2”
object.property+=“3”
object.property+=“4”
console.log(object.property)/“1234”
删除object.property
console.log(object.property)//未定义
var对象={
某物:“,
得到x(){
还这个,什么
},
设置y(值){
console.log(值);
这个东西=价值
}
}
console.log(object.x)
object.y=object.x+“1”
删除object.y
object.y=object.x+“2”
console.log(object.x)/“1234”
删除object.x
console.log(object.x)//未定义
为此目的使用(与
{set:undefined}
):

Object.defineProperty(object,"property",{set:undefined})
这将只删除setter

var对象={
某物:“,
获取属性(){
还这个,什么
},
设置属性(值){
这个东西=价值
}
}
object.property+=“1”
object.property+=“2”
object.property+=“3”
object.property+=“4”
console.log(object.property)/“1234”
Object.defineProperty(对象,“属性”,{set:undefined})//删除setter
console.log(object.property)/“1234”
object.property+=“5”//setter缺少,静默失败

console.log(object.property)//仍然是“1234”
在这种情况下您希望getter做什么的可能重复?@DanO在这种情况下,它只返回
object.something
。这只是一个例子,在我的原始代码中,它更复杂。