typeof数字等于数字

时间:2015-01-13 19:28:30

标签: javascript numbers typeof

在JavaScript中,

  1. typeof 42 === 'number' //true
  2. 评估为true。但..

    1. typeof Number === 'number' //false
    2. 评估为假。和..

      1. typeof 'number' === 'number' //false
      2. 也评估为false。

        不应该比较2或3评估为真吗?

2 个答案:

答案 0 :(得分:4)

不,NumberStringBoolean都是对象(和函数)。应用于其中任何一个的typeof都会返回值"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'

答案 1 :(得分:1)

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

new Number(42)

来自documentation

  

使用Number()构造函数创建Number对象。

所以typeof Number实际上是"function"

另一方面,'number'是字符串,因此typeof 'number'"string"