我学会了总是像这样检查Javascript中的变量:
function x(variable){
if(typeof variable !== "undefined" && variable !== null)...
}
现在,一个新同事表示,这样做会更容易,更好:
function x(variable){
if(variable != null)
}
这真的一样吗?这怎么工作?
谢谢
最佳答案
Null和undefined是JavaScript中的两个primitive datatypes。
From Mozilla MDN示例:
var x;
if (x === undefined) {
// these statements execute
}
else {
// these statements do not execute
}
这里必须使用严格相等运算符,而不是标准相等运算符,因为
x == undefined
还会检查x是否为null,而严格相等则不是。 null
不等同于undefined
。function x(variable){
if(variable != null) // variable would be both null and undefined for comparison
}
我认为上面的示例有效,因为您没有使用严格的比较。简而言之,您的两个示例并不相同,但可以得出相同的结果。这完全取决于您的逻辑要求是否是严格的比较。
关于javascript - Typeof检查vs空检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25258884/