美文网首页
Object.defineProperty() (摘自红宝书)

Object.defineProperty() (摘自红宝书)

作者: Eirmood | 来源:发表于2020-09-17 23:58 被阅读0次

    1、修改属性默认的特性。
    Object.defineProperty()方法接收三个参数:属性所在的对象、属性的名字和一个描述符对象。其中,描述符(descriptor)对象的属性必须是:configurable、enumerable、writable和value。设置其中的一或多个值,可以修改对应的特性值。

    2、访问器属性
    访问器属性不包含数据值;它们包含一对儿getter和setter函数(不过,这两个函数都不是必需的)。在读取访问器属性时,会调用getter函数,这个函数负责返回有效的值;在写入访问器属性时,会调用setter函数并传入新值,这个函数负责决定如何处理数据。访问器属性有如下4个特性。

    [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为数据属性。对于直接在对象上定义的属性,这个特性的默认值为true。
    [[Enumerable]]:表示能否通过for-in循环返回属性。对于直接在对象上定义的属性,这个特性的默认值为true。
    [[Get]]:在读取属性时调用的函数。默认值为undefined。
    [[Set]]:在写入属性时调用的函数。默认值为undefined。

    相关文章

      网友评论

          本文标题:Object.defineProperty() (摘自红宝书)

          本文链接:https://www.haomeiwen.com/subject/yuhdyktx.html