为什么Number.prototype是一个数字

时间:2012-04-30 22:25:32

标签: javascript ecmascript-5

({}).toString.call(Number.prototype) === "[object Number]"
  

Number原型对象本身就是一个Number对象(它的[[Class]]是“Number”),其值为+0。

15.7.4

为什么Number.prototype成为数字会有用? (对于[[Class]]设置为非Object的每个其他内置原型也是如此)

我专注于Number.prototype,因为我可以想象Array.prototypeDate.prototype的合理遗产原因。

2 个答案:

答案 0 :(得分:1)

  

Number原型对象本身就是一个Number对象(它的[[Class]]是“Number”),其值为+0

为什么Number.prototype不是Number对象?它的[[Prototype]]是Object.prototype,所以它仍然继承自Object。

答案 1 :(得分:1)

通常,Constructor.prototypeConstructor定义的“类型”的范例。虽然对于不可变的原语似乎有些毛茸茸,特别是一旦你涉及到拳击的东西,这个样本概念仍然有意义,0Number的“范例”。