首页 > 其他分享 >读取属性的特性

读取属性的特性

时间:2023-02-14 12:02:32浏览次数:33  
标签:false 读取 特性 configurable value year enumerable 属性


Object.getOwnPropertyDescriptor()方法,
* 两个参数:属性所在的对象和要读取器描述符的属性名,
* 返回值是一个对象,
* 如果是数据属性有:configurable,enumerable,writable,value.
* 如果是访问器属性有:configurable,enumerable,get,set.

<script>
var person = {};
Object.defineProperties(person, {
//使用defineProperties方法,所有属性的特性默认为false,如需使用需要设置为true
name: {
value: "hongbin"
},
_year:{
value:2000,
writable:true
},
age: {
value: 1,
writable:true
},
year: {
get() {
return this._year
},
set(v) {
if (v > this._year) {
this._year = v;
this.age += v - 2000;
}
}
}
});

person.year = 2020;

/*
* Object.getOwnPropertyDescriptor()方法,
* 两个参数:属性所在的对象和要读取器描述符的属性名,
* 返回值是一个对象,
* 如果是数据属性有:configurable,enumerable,writable,value.
* 如果是访问器属性有:configurable,enumerable,get,set.
* */
console.log(person);

let descriptor__year = Object.getOwnPropertyDescriptor(person,"_year");
console.log(descriptor__year);
//{value: 2020, writable: true, enumerable: false, configurable: false}

let descriptor_year = Object.getOwnPropertyDescriptor(person,'year');
console.log(descriptor_year);
//{enumerable: false, configurable: false, get: ƒ, set: ƒ}
console.log(descriptor_year.configurable);//false

</script>

读取属性的特性_javascript


标签:false,读取,特性,configurable,value,year,enumerable,属性
From: https://blog.51cto.com/u_15964288/6056532

相关文章