【问题标题】:Why is Error.prototype a d {name: "Error", message: ""}, when Boolean.prototype is a Boolean {}?当 Boolean.prototype 是 Boolean {} 时,为什么 Error.prototype 是 d {name: "Error", message: ""}?
【发布时间】:2014-07-16 23:32:11
【问题描述】:

环境:
- Chrome 控制台

我明白了:

Boolean.prototype;  // Boolean {}
Number.prototype;  // Number {}

我不明白:

Error.prototype;  // d {name: "Error", message: ""}

问题:

  • Error` 不同,为什么?
  • 规格?
  • d 的含义?

【问题讨论】:

  • 不确定d(可能是Chrome中的一个错误),但其余的是part of the language specification
  • 我倾向于将此视为 Chrome 控制台本身的某种怪异之处。无论如何它有什么不同?
  • 开发者控制台的行为没有规范。

标签: javascript prototype ecmascript-5


【解决方案1】:

Error`不一样,为什么?

因为您的控制台喜欢显示错误对象的 namemessage 属性,即使它们不可枚举。

规格?

http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.4。你当然可以自己找到。

d的含义?

无。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2018-08-16
    • 1970-01-01
    • 2020-11-29
    • 2017-04-15
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多