2012-02-06 150 views
14

方法Object.defineProperty(见here)接受“描述符”作为第三个参数。什么是描述符?

什么是描述符?

+5

它就在那里下的 “描述” 标题:“一个属性描述符是.. “。 – pimvdb 2012-02-06 21:02:48

+1

你提供的链接似乎提供了一个很好的定义,下面的部分说'属性描述符是一个包含以下字段的对象:' – 2012-02-06 21:03:21

+0

我对这个问题投了赞成票并且接受的答案比复杂得多关于MDN的解释 – kapreski 2017-10-12 06:35:35

回答

28

A 属性描述符可以有两种类型:数据描述符或访问符描述符。

数据描述符

强制性属性:

  • value

可选属性:

  • configurable
  • enumerable
  • writable

样品:

{ 
    value: 5, 
    writable: true 
} 

访问器描述符

强制性属性:

  • 要么getset或两者

可选属性:

  • configurable
  • enumerable

样品:

{ 
    get: function() { 
     return 5; 
    }, 
    enumerable: true 
} 
3

描述符是描述某事物的东西。在这种情况下,它只是一个带有特定字段的普通对象({...}),它描述了属性应该如何表现。进一步阅读页面以查看您可以使用哪些字段。