什么时候是javascript`Null`中变量的数据类型?

时间:2013-10-15 00:15:56

标签: javascript

实际上是否可以将Null数据类型作为typeof函数的返回值 - 如果是这样的话会产生哪种结果,何时实际是Null类型的变量?

    typeof myVAR; //gives me "undefined" before the variable declaration

    var myVAR;
    typeof myVAR; //also gives me "undefined"

    myVAR = null; //assigned the null object
    typeof myVAR; //gives me "Object" (which I guess makes sense because `null` is an object and that's what I assigned to the variable)

1 个答案:

答案 0 :(得分:8)

typeof never returns "null",但有一个internal null type

结果类型:

  • 未定义:“undefined”
  • Null:“object”
  • 布尔值:“布尔”
  • 数字:“数字”
  • 字符串:“字符串”
  • 对象(原生且未实现[[Call]]):“object”
  • 对象(本机或主机并实现[[Call]]):“function”
  • 对象(主机并没有实现[[Call]]):实现定义,但可能不是“未定义”,“布尔”,“数字”或“字符串”。

测试null的唯一方法是使用null运算符直接与===值进行比较。