3

实际上是否有可能将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)
4

1 回答 1

8

typeof从不返回"null",但有一个内部空类型

结果类型:

  • 未定义: “未定义”
  • 空: “对象”
  • 布尔值: “布尔值”
  • 号码: “号码”
  • 字符串: “字符串”
  • 对象(本机且未实现 [[Call]]): “对象”
  • 对象(本机或主机,并实现 [[Call]]): “功能”
  • 对象(宿主且未实现 [[Call]]):实现定义的除了可能不是“未定义”、“布尔”、“数字”或“字符串”。

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

于 2013-10-15T00:19:01.617 回答