JavaScript属性描述符-创新互联
属性描述符(Property Descriptor)是 ES5 之后出现的概念,顾名思义,它用于描述属性应该是什么样,例如是否只读,能否枚举,能否可配置等。所有对象属性均可使用属性描述符来定义。
属性描述符的六个属性
网页名称:JavaScript属性描述符-创新互联
标题URL:http://scyanting.com/article/copgog.html
value
创新互联公司主营岗巴网站建设的网络公司,主营网站建设方案,成都APP应用开发,岗巴h5成都微信小程序搭建,岗巴网站营销推广欢迎岗巴等地区企业咨询属性值。writable
是否允许赋值,true 表示允许,否则该属性不允许赋值。get
返回属性值的函数。如果为 undefined 则直接返回描述符中定义的 value 值。set
属性的赋值函数。如果为 undefined 则直接将赋值运算符右侧的值保存为属性值。configurable
如果为 true,则表示该属性可以重新定义描述符,或者从属性的宿主删除。缺省为true
。
enumerable
如果为 true,则表示遍历宿主对象时,该属性可以被遍历到。缺省为true
。
Object 操作属性的方法
Object.defineProperty(obj, prop, descriptor)
使用描述符 descriptor 定义 obj 的 prop 属性。Object.getOwnPropertyDescriptor(obj, prop)
获取 obj 的 prop 属性描述符。Object.preventExtensions(obj)
禁止为当前对象 obj 添加新属性。Object.seal(obj)
封印当前对象 obj,禁止添加新属性,并且将所有现有属性 configurable 设置为 false。Object.freeze(obj)
冻结当前对象 obj,禁止增加新属性,禁止删除现有属性或修改属性描述符,相当于将该 obj 变成了 immutable。Object.isExtensible(obj)
判断当前对象 obj 是否允许扩展。Object.isSealed(obj)
判断当前对象 obj 是否被封印。Object.isFrozen(obj)
判断当前对象 obj 是否被冻结。Object.prototype.hasOwnProperty(prop)
判断当前对象是否拥有 prop 属性。网页名称:JavaScript属性描述符-创新互联
标题URL:http://scyanting.com/article/copgog.html