【发布时间】:2014-05-13 09:18:40
【问题描述】:
在 JavaScript 中检查变量是否未定义的常见做法如下:
var isUndefined=(typeof variableName==="undefined");
我最近遇到了使用两个感叹号来确定相同的逻辑:
var isUndefined=!!variableName;
互换使用这些方法是否安全?
两者在浏览器之间是否同样兼容?
有什么理由不应该使用“!!”方法? (看起来更简洁易读)
【问题讨论】:
-
!!variableName如果variableName确实不存在(即没有var variableName语句),将引发引用错误。typeof variableName不会抛出这样的错误。 -
@T.J.Crowder 哦,是的,删除了我的评论。 +1 给你的 :-)
标签: javascript boolean undefined typeof