Property Descriptors(属性访问器)2018-05-29

参考链接:https://www.jianshu.com/p/8fec6f287a9d

var myObject = {a:2}
Object.getOwnPropertyDescriptor(myObject , "a" );
// {
//    value: 2,
//    writable: true,
//    enumerable: true,
//    configurable: true
// }

writable(可写性)

writable ,可写性,默认true, 如果设置 writable: false, 这后面进行 myObject.a = 3 等类似的修改值的操作,将失败,在严格模式下还会弹出 typeError

configurable(可配置性)

configurable,可配置性,默认true,如果设置 configurable:false .则后面进行 Object.defineProperty(myObject , "a" ,{value: 2,writable: true, enumerable: true, configurable: true})将会弹出 typeError ,特别注意 configurable:false单向操作 ,一旦设置就不可逆转.
同时也阻止了delete 操作.

enumerable(可枚举性)

enumerable,可枚举行,顾名思义.默认是true,主要用于类似 for..in 的枚举操作.设置为 enumerable:false 的时候,该属性在枚举的时候就会隐藏.

你可能感兴趣的:(Property Descriptors(属性访问器)2018-05-29)