如何在 JS 中检查值是否不为空且不为空字符串

2022-08-30 05:20:26

在Javascript中,如果一个值不是空的,而不是空的字符串,是否有任何检查?我使用以下一个:

var data; //get its value from db 
if(data != null && data != '') {
   // do something
}

但我想知道是否有另一个更好的解决方案。谢谢。


答案 1

如果你真的想确认一个变量不是空的,而不是一个空字符串,你可以这样写:

if(data !== null && data !== '') {
   // do something
}

请注意,我更改了您的代码以检查类型相等性(|)。!=====

但是,如果您只想确保代码仅针对“合理”值运行,那么正如其他人已经指出的那样,您可以编写:

if (data) {
  // do something
}

因为在javascript中,空值和空字符串都等于false(即)。null == false

这两部分代码之间的区别在于,对于第一部分,每个不是特别为 null 或空字符串的值都将输入 .但是,在第二个值上,每个 true-ish 值都会输入 : , , 和 空字符串,则不会。ififfalse0nullundefined


答案 2

而不是使用

if(data !== null && data !== ''  && data!==undefined) {

// do something
}

您可以使用以下简单代码

if(Boolean(value)){ 
// do something 
}
  • 直观上“为空”的值(如 0、空字符串、null、未定义和 NaN)将变为 false
  • 其他值变为真