对象的属性 分为 : 数据属性 以及 访问器属性.
1.数据属性
1.1 数据属性的特性
对象的每个普通属性都有四个特性 :
[ [ Configurable ] ] , [ [ Enumerable ] ] , [ [ Writable ] ] , [ [ Value ] ]
前三个的默认值都是true,最后的Value默认值是undefined
Configurable
为true时,表示:
①.该属性可以用delete操作符来 删除属性 从而重新定义属性.
②.该 属性的特性 可以被更改.
③.该属性可以被修改为 访问器属性(getter ,setter)
Enumerable
为true时,表示
①.该属性可以被for-in语句访问到.(in操作符应该也遵循此规律).
Writable
为true时,表示
①.该 属性的值 可以被修改.
Value
表示属性的值.当属性值读取时,在这个位置被读取;当设置属性值时,值会被设置在这里.
2.访问器属性
2.1 访问器属性的特性
每个访问器属性同样有四个特性:
[ [ Configurable ] ] , [ [ Enumerable ] ] , [ [ Set ] ] , [ [ Get ] ]
2.2 定义/修改 访问器属性
只能使用 Object.defineProperty(target,propertyName,descriptor);
3.同时定义多个属性
使用 Object.defineProperties(target , props);
4.读取属性的特性
使用 Object.getOwnPropertyDescriptor( target , propertyName);
返回值是个 descriptor对象 , 包裹着对应的属性特性.
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习。