在 JavaScript 中,判断空值通常涉及对变量或表达式结果的检查,以确定其是否为空或未定义。以下是一些常见的判断空值的方法及其基础概念:
undefined
:表示变量已声明但未赋值。null
:表示变量是有意赋为空值。''
:表示字符串长度为0。false
、0
、NaN
、''
(空字符串)、null
、undefined
在布尔上下文中都会被转换为 false
。===
使用严格等于运算符可以检查变量是否严格等于 undefined
或 null
。
if (variable === undefined || variable === null) {
// 变量为空
}
==
使用等于运算符可以同时检查 undefined
和 null
,因为它们在 ==
运算符下是相等的。
if (variable == null) {
// 变量为空(undefined 或 null)
}
如果你还想检查空字符串,可以这样做:
if (variable === '' || variable == null) {
// 变量为空字符串或未定义/空
}
!
运算符!
运算符会将变量转换为布尔值,并取反。因此,如果变量为 undefined
、null
、false
、0
、NaN
或空字符串,该表达式将为 true
。
if (!variable) {
// 变量为假值(包括空值)
}
但请注意,这种方法也会将 false
和 0
视为空值,如果你只想检查 undefined
、null
和空字符串,应避免使用此方法。
你可以创建一个自定义函数来检查空值,以封装上述逻辑:
function isEmpty(value) {
return value === undefined || value === null || value === '';
}
if (isEmpty(variable)) {
// 变量为空
}
==
运算符时,要小心因为它会执行类型转换,可能导致意外的结果。通常建议使用 ===
进行严格比较。领取专属 10元无门槛券
手把手带您无忧上云