JavaScript 理解对象 3 读取属性的特性
2017-12-11 本文已影响5人
赵者也
读取属性的特性
使用 Object.getOwnPropertyDescriptor 方法,可以取得给定属性的描述符。这个方法接收两个参数:属性所在的对象和要读取其描述符的属性名称。返回值是一个对象,如果是访问器属性,这个对象的属性有 configurable、enumerable、get 和 set;如果是数据属性,这个对象的属性有 configurable、enumerable、writable 和 value。例如:
var book = {};
Object.defineProperties(book, {
__year: {
value: 2014,
writable: true
},
edition: {
value: 1,
writable: true
},
year: {
get: function() {
return this.__year;
},
set: function(newValue) {
if (newValue > 2014) {
this.__year = newValue;
this.edition += newValue - 2014;
}
}
}
});
var des = Object.getOwnPropertyDescriptor(book, "__year");
console.log(des.value);
console.log(des.configurable);
输出结果为:
输出结果