精细化设置对象属性的四个特征
在js中一切皆对象。对象是属性无序的集合,属性由属性名和属性值组成,属性值也都是对象,即属性值既可以是基本数据类型,也可以是引用数据类型。在对对象中的属性进行操作时,会涉及到属性的四个特征:configurable、writable、enumerable,value。
一.设置对象属性四个特征的语法
语法格式: Object.defineProperty(对象名,属性,{特征设置});
二.解析属性的四个特征
2.1 configurable
configurable决定该属性是否可以删除,默认是true,可删除。例:
图2.1.1当设置configurable的值为false时,则属性就不能被删除:
图2.1.22.2 writable
writable决定此属性的值是否可以覆盖重写,相当于当writable的值为false的时候,这个属性此时就转化为了常量,值不可更改。writable的值默认值为true。
图2.2.1当writable的值为false的时候,属性值就不能更改了:
图2.2.22.3 enumerable
enumerable决定属性是否可以枚举,默认是false。
图2.3.1当enumerable的值为false的时候,属性值就不能枚举:
图2.3.22.4 value
value是给属性设置值,默认是undefined。
图2.4.1三. 设置属性四个特征时应当注意
configurable属性一旦设置就不能修改,例:
图3
网友评论