码迷,mamicode.com
首页 > 其他好文 > 详细

Object.defineProperty方法

时间:2021-02-02 11:35:33      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:family   enum   table   image   load   描述   man   lazy   esc   

Object.defineProperty方法,直接在一个对象上新增一个属性,或者修改一个已存在的属性。

Object.defineProperty 需要三个参数(object , propName , descriptor)

1 object 对象 => 给谁加

2 propName 属性名 => 要加的属性的名字 【类型:String】

3 descriptor 属性描述 => 加的这个属性有什么样的特性【类型:Object】

descriptor的属性:

value: 设置属性的值

writable: 值是否可以重写。true | false,默认false

enumerable: 目标属性是否可以被枚举。true | false,默认为false

configurable: 目标属性是否可以被删除或是否可以再次修改特性 true | false,默认为false

set: 目标属性设置值的方法

get:目标属性获取值的方法   

       注意:当使用了getter或setter方法,不允许使用writable和value这两个属性

 

示例:

1)value可以是任意类型的值,writable默认为false,只有显式设置为true才可以修改属性值

 技术图片

 

 

 

2)enumerable如果不显式设置为true,则属性不可枚举,但这不影响对属性的获取与操作

 技术图片

 

 

 

3)configurable如果不显式设置为true,则属性不可删除

 技术图片

4)set和get默认不可修改,不可使用writable属性,可以添加configurable实现可修改

 技术图片

 

Object.defineProperty方法

标签:family   enum   table   image   load   描述   man   lazy   esc   

原文地址:https://www.cnblogs.com/ShouWangYiXin/p/14360251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!