JavaScript属性描述符-创新互联

属性描述符(Property Descriptor)是 ES5 之后出现的概念,顾名思义,它用于描述属性应该是什么样,例如是否只读,能否枚举,能否可配置等。所有对象属性均可使用属性描述符来定义。JavaScript属性描述符
属性描述符的六个属性

value

创新互联公司主营岗巴网站建设的网络公司,主营网站建设方案,成都APP应用开发,岗巴h5成都微信小程序搭建,岗巴网站营销推广欢迎岗巴等地区企业咨询属性值。

writable

是否允许赋值,true 表示允许,否则该属性不允许赋值。

get

返回属性值的函数。如果为 undefined 则直接返回描述符中定义的 value 值。

set

属性的赋值函数。如果为 undefined 则直接将赋值运算符右侧的值保存为属性值。

configurable

如果为 true,则表示该属性可以重新定义描述符,或者从属性的宿主删除。缺省为 true

enumerable

如果为 true,则表示遍历宿主对象时,该属性可以被遍历到。缺省为 true。 Object 操作属性的方法

Object.defineProperty(obj, prop, descriptor)

使用描述符 descriptor 定义 objprop 属性。

Object.getOwnPropertyDescriptor(obj, prop)

获取 objprop 属性描述符。

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属性描述符-创新互联
链接地址:http://myzitong.com/article/copgog.html