JavaScript 中对象的属性描述符有哪些?分别有什么作用?

160 阅读1分钟

JavaScript 中对象的属性描述符有哪些?分别有什么作用?

属性描述符一共有 6 个,可以选择使用。

value:设置属性值,默认值为 undefined。
writable:设置属性值是否可写,默认值为 true。
enumerable:设置属性是否可枚举,即是否允许使用 for/in 语句或 Object.keys( ) 函数遍历访问,默认为 true。
configurable:设置是否可设置属性特性,默认为 true。如果为 false,将无法删除该属性,不能够修改属性值,也不能修改属性的属性描述符。
get:取值函数,默认为 undefined。
set:存值函数,默认为 undefined。
使用属性描述符的时候,get 和 set 以及 value 和 writable 这两组是互斥的,设置了 get 和 set 就不能设置 value 和 writable,反之设置了 value 和 writable 也就不可以设置 get 和 set。