是否有一个通用的JavaScript函数来检查变量是否有值,并确保它不是未定义的或空的?我有这个代码,但我不确定它是否涵盖所有情况:
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
是否有一个通用的JavaScript函数来检查变量是否有值,并确保它不是未定义的或空的?我有这个代码,但我不确定它是否涵盖所有情况:
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
当前回答
var myNewValue = myObject && myObject.child && myObject.child.myValue;
这永远不会抛出错误。如果myObject、child或myValue为空,则myNewValue将为空。不会引发任何错误
其他回答
我认为使用?操作员稍微干净一点。
var ? function_if_exists() : function_if_doesnt_exist();
function isEmpty(value){
return (value == null || value.length === 0);
}
对于
undefined // Because undefined == null
null
[]
""
和零参数函数,因为函数的长度是它所使用的声明参数的数量。
要禁止后一个类别,您可能只需要检查空白字符串
function isEmpty(value){
return (value == null || value === '');
}
Null或空白
function isEmpty(value){
return (value == null || value.trim().length === 0);
}
如果您正在使用TypeScript,并且不想考虑“值为假”,那么这就是您的解决方案:
首先:从“util”导入{isNullOrUndefined};
然后:isNullOrUndefined(this.yourVariableName)
请注意:如下文所述,现在已弃用此选项,请改用value==undefined||value==null。裁判。
try{
let vari = obj.propTest; // obj may be don't have propTest property
...
} catch(NullException){
// do something here
}
我认为使用try-catch可以避免任何空检查错误,在Angular或JavaScript中也是如此只是捕获空异常并在其中处理。
您可以使用零合并运算符??检查空值和未定义值。参见MDN文档
null ?? 'default string'; // returns "default string"
0 ?? 42; // returns 0
(null || undefined) ?? "foo"; // returns "foo"