如何禁用JavaScript中对象的属性?禁止读取属性
让obj = {名称:“ karl”}Object.DefineProperty(obj,'name',{枚举:错误,可写:错误,可配置:false}console.log(obj.name)//卡尔
我的目标是通过获取来访问属性(名称)。
示例
让obj = {名称:“ karl”,获取getname(){返回this.name + 2;}}console.log(obj.name)// karl2
如果get具有属性的相等名称,则会导致错误我无法通过本地获取它。
Object.defineProerty没有属性读取属性
您需要保存现有值,然后将属性重新配置为吸气剂:
const obj = {
name: "karl"
}
const origName = obj.name;
Object.defineProperty(obj, 'name', {
enumerable: false,
configurable: false,
get() {
return origName + 2;
}
});
console.log(obj.name) // karl