JS判空

在编程中,经常需要判断一个变量是否为空。在JavaScript中,判断一个变量是否为空包括两种情况:变量为undefined或null,以及变量为空字符串""或空数组[]。
判断undefined或null
JavaScript中的undefined和null都代表没有值的情况,但是它们并不相同。undefined表示一个变量已经声明但未赋值,而null表示一个空值。
要判断一个变量是否为undefined或null,可以使用如下方式:
function isNullOrUndefined(variable) {
return variable === undefined || variable === null;
}
示例代码如下:
let a;
let b = null;
let c = 0;
console.log(isNullOrUndefined(a)); // true
console.log(isNullOrUndefined(b)); // true
console.log(isNullOrUndefined(c)); // false
上述代码中,a是未定义的变量,b被赋值为null,c被赋值为0。通过isNullOrUndefined函数可以判断变量是否为undefined或null。
判断空字符串或空数组
除了undefined和null外,有些情况下需要判断变量是否为空字符串""或空数组[]。在JavaScript中,空字符串和空数组都是一种空值。
要判断一个变量是否为空字符串或空数组,可以使用如下方式:
function isEmpty(variable) {
if (typeof variable === "string") {
return variable === "";
} else if (Array.isArray(variable)) {
return variable.length === 0;
} else {
return false;
}
}
示例代码如下:
let str1 = "";
let str2 = "Hello";
let arr1 = [];
let arr2 = [1, 2, 3];
console.log(isEmpty(str1)); // true
console.log(isEmpty(str2)); // false
console.log(isEmpty(arr1)); // true
console.log(isEmpty(arr2)); // false
以上代码中,str1是空字符串,str2是非空字符串,arr1是空数组,arr2是非空数组。通过isEmpty函数可以判断变量是否为空字符串或空数组。
综合判空
有些情况下需要综合判断一个变量是否为空,包括undefined、null、空字符串和空数组。可以使用如下函数:
function isEmptyValue(variable) {
if (isNullOrUndefined(variable)) {
return true;
}
if (typeof variable === "string") {
return variable === "";
}
if (Array.isArray(variable)) {
return variable.length === 0;
}
return false;
}
示例代码如下:
let x;
let y = null;
let z = "";
let w = [];
console.log(isEmptyValue(x)); // true
console.log(isEmptyValue(y)); // true
console.log(isEmptyValue(z)); // true
console.log(isEmptyValue(w)); // true
上述代码中,x是未定义的变量,y被赋值为null,z是空字符串,w是空数组。通过isEmptyValue函数可以综合判断变量是否为空。
以上就是在JavaScript中判空的方法,可以根据实际情况选择使用isNullOrUndefined、isEmpty或isEmptyValue函数来判断变量是否为空。
极客笔记