是否有标准函数来检查 JavaScript 中的空、未定义或空白变量?

2022-08-29 21:49:50

是否有通用的JavaScript函数可以检查变量是否具有值并确保它不是或?我有这个代码,但我不确定它是否涵盖了所有情况:undefinednull

function isEmpty(val){
    return (val === undefined || val == null || val.length <= 0) ? true : false;
}

答案 1

您可以只检查变量是否有值。这意味着truthy

if( value ) {
}

如果不是,则将评估为:truevalue

  • 定义
  • 空字符串 (“”)
  • 0

上面的列表代表了 ECMA-/Javascript 中所有可能的值。在该部分的规范中找到它。falsyToBoolean

此外,如果您不知道变量是否存在(这意味着,如果已声明),则应与运算符进行核对。例如typeof

if( typeof foo !== 'undefined' ) {
    // foo could get resolved and it's defined
}

如果可以确定至少声明了某个变量,则应直接检查它是否具有如上所示的值。truthy


答案 2

用于检查值是否未定义或为 null 的 verbose 方法是:

return value === undefined || value === null;

您也可以使用运算符,但这需要知道所有规则==

return value == null; // also returns true if value is undefined