Reading Property Attributes

It's also possible to retrieve the property descriptor for a given property by using the ES5 Object.getOwnPropertyDescriptor() method.This method accepts two arguments:the object on which the property resides and the name of the property whose descriptor should be retrieved.The return value is an object  with properties for configurable,enumerable , get and set for accessor properties or configurable,enumerable ,writable ,and value for data properties .Example:

var book={};

Object.defineProperties(book,{

_year:{ value:2004 },

edition:{ value:1},

year:{

get:function(){

return this._year;

},

set:function(newV){

if(newV>2004){

this._year=newV;

this.edition+=newV-2004;

}

}

}

}); 

var desc=Object.getOwnPropertyDescriptor(book,"_year");

alert(desc.value);//2004

alert(desc.configurable);//false

alert(typeof desc.get);//"undefined"


var desc=Object.getOwnPropertyDescriptor(book,"year");

alert(desc.value);//undefined

alert(desc.enumerable);//false

alert(typeof desc.get);//'function'


For the data property _year,value is equal to the original value,configurable is false,and get is undefined,For the accessor property year,value is undefined,enumerable is false,and get is a pointer to the specified getter function.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值