之间有什么区别吗?
var a;
(a == undefined)
(a === undefined)
((typeof a) == "undefined")
((typeof a) === "undefined")
Run Code Online (Sandbox Code Playgroud)
我们应该使用哪一个?
Jon*_*ves 11
具有讽刺意味的是,undefined可以在JavaScript中重新定义,而不是任何心智正常的人会这样做,例如:
undefined = "LOL!";
Run Code Online (Sandbox Code Playgroud)
所有未来的平等检查undefined都会产生意想不到的结果!
至于==和===(等于运算符)之间的区别,==将尝试将值从一种类型强制转换为另一种类型,用英语表示0 == "0"即使类型不同(Number vs String)也将评估为true - 开发人员倾向于避免这种情况松散相等的类型,因为它可能导致难以在代码中调试错误.
因此,最安全的使用方法是:
"undefined" === typeof a
Run Code Online (Sandbox Code Playgroud)
检查undefinedness时:)
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |