我知道下面是JavaScript中检查变量是否为空的两种方法,但我不知道哪一种是最佳实践。

我应该:

if (myVar) {...}

or

if (myVar !== null) {...}

当前回答

与其使用多个条件语句,不如使用下面的解决方案。

if(![false, 0, "", null, undefined, NaN].includes(myVar)){

   // It's not a null value

}

其他回答

与其使用多个条件语句,不如使用下面的解决方案。

if(![false, 0, "", null, undefined, NaN].includes(myVar)){

   // It's not a null value

}

如果myVar为空,则如果block不执行,否则将执行。

if (myVar != null){…}

下面是测试变量是否为NULL的方法:

if (myVar !== null){…}

如果myVar不为空,块将被执行。它将在myVar未定义或为false或0或NaN或其他任何情况下执行。

它们不相等。如果myVar为真(即在条件中为真),第一个将执行if语句后面的块,而第二个将在myVar为任何值而不是null时执行块。

在JavaScript中唯一不是真值的值是以下(又名假值):

零 未定义的 0 ""(空字符串) 假 南

If(0)表示false, If(-1,或除0之外的任何其他数字)表示true。以下值不是真值,null, undefined, 0, ""(空字符串),false, NaN

永远不要使用id之类的数字类型

if (id) {}

对于可能值为0的id类型,我们不能使用if (id){},因为if(0)将意味着false,无效,这是我们想要的,它意味着有效为true id数。

所以对于id类型,我们必须使用以下方法:

if ((Id !== undefined) && (Id !== null) && (Id !== "")) {

} else {

}

对于其他字符串类型,我们可以使用if (string){},因为null, undefined,空字符串都将计算为false,这是正确的。

if (string_type_variable) { }