js-前端判空处理(条件判空,逻辑运算符,三元判断,空值合并运算符(??),可选链,正则表达式,自定义函数)
1.条件判空
使用条件语句判断变量是否为空
if (variable === null || variable === undefined || variable === '') {
// 处理空值
}
2.逻辑运算符
逻辑运算符简化判空,!会将null undefined,空字符串,0,NaN和false转换为true
if (!variable) {
// 处理空值
}
3.三元运算符进行简单的条件赋值
let result = variable ? variable : '默认值';
4.空值合并运算符(??)
ES2020引入空值合并运算符??,用于处理null和undefined
let result = variable ?? '默认值';
5.Optional Chaining(可选链)
安全访问对象属性,避免属性不存在而抛出错误
let value = obj?.prop?.subProp;
6.正则表达式
进行字符串的匹配和验证
if (!/^\s*$/.test(variable)) {
// 处理非空字符串
}
7.自定义函数封装判空逻辑
function isEmpty(value) {
return value === null || value === undefined || value === '';
}