typeof Number 等于 Number

typeof Number equals Number

在JavaScript,

  1. typeof 42 === 'number' //true

计算结果为真。但是..

  1. typeof Number === 'number' //false

评估为假。还有..

  1. typeof 'number' === 'number' //false

也评估为假。

比较 2 或 3 的计算结果不应为真吗?

Number 是一个函数,可用于将本机值包装到 Number 对象中。 Number 也是 Number 类型的构造函数,如果与 new 一起使用,例如

new Number(42)

来自documentation:

A Number object is created using the Number() constructor.

所以typeof Number实际上是"function"

另一方面,'number' 是一个字符串,所以 typeof 'number'"string"

不,NumberStringBoolean都是对象(和函数)。 typeof 应用于它们中的任何一个都会 return 值 "function"

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean


'number' 是一个字符串,因此它的类型是 'string'.