在Javascript中,我们通常判断一个变量是否存在(即不为null或者undefined),往往是这样判断的
let info={ id:0, name:'张三', age:20 }
if(info.name){
console.log('存在');
}
if(info.sex){ //性别sex在info对象中不存在
console.log('不存在');
}
但是当变量存在,如果变量为空字符串" "
或者0
时,按上面方法的判断,结果会显示不存在,和本意不符。
if(info.id){ //info.id的值是0,这样判断的话结果为false
console.log('不存在');
}
因此要判断一个变量是否存在,正确方法如下:
//封装方法
isNullOrUndefined(obj) {
return obj === null || obj === undefined;
}
//调用
if(this.isNullOrUndefined(info.id)){
console.log('存在');
}