我学会了总是像这样检查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/

10-16 23:21