是否有一个通用的JavaScript函数检查一个变量的值,并确保它不undefined还是null?我有以下代码,但不确定是否涵盖所有情况:
undefined
null
function isEmpty(val){ return (val === undefined || val == null || val.length <= 0) ? true : false; }
您可以只检查 变量 是否具有truthy值。那意味着
truthy
if( value ) { }
将计算为true,如果value是 不是 : - null - undefined - NaN - empty string (“”) - 0 - false
true
value
上面的列表代表falsyECMA- / Javascript中的所有可能值。在本节的规范中找到它ToBoolean。
falsy
ToBoolean
此外,如果您不 知道 变量是否存在(也就是说,是否已 声明 ),则应与typeof运算符联系。例如
typeof
if( typeof foo !== 'undefined' ) { // foo could get resolved and it's defined }
如果可以确定至少声明了一个 变量 ,则应直接检查它是否具有truthy如上所示的值。