属性描述符:
ECMAScript 5 中定义了一个名叫“属性描述符”的对象,用于描述了的各种特征。“属性描述符”对象只能在Object.defineProperty或Object.defineProperties中使用。
数据属性:
Configurable 可配置性:决定是否可以使用delete删除属性,默认值true Enumerable
可枚举性:决定属性是否出现在对象的属性枚举中。比如是否可以通过for-in循环返回该属性,默认值true Writable
可写性:决定是否可以修改属性的值,默认true。
Value : 属性值
访问器属性:
Configurable 可配置性 Enumerable 可枚举性
getter 读取属性时调用的函数,默认值undefined
setter 写入属性时调用的函数,默认值undefined
描述符方法
Object.getOwnPropertyDescriptor(object, propertyname) 方法用于查询一个属性的描述符,并以对象的形式返回
Object.defineProperty(object,propertyname,descriptor) 方法用于创建或配置对象的一个属性的描述符,返回配置后的对象
Object.defineProperty(object,descriptors)方法用于创建或配置对象的多个属性的描述符,返回配置后的对象
Object.create(proto,descriptors)方法使用指定的原型和属性来创建一个对象