判断一个对象是否存在
实际开发中,若要判断一个对象是否存在,最常用的方法是:
if(a){
// 存在
...
}else{
// 不存在
...
}
有没有想过,a的取值在哪种情况下会存在,哪种情况下会不存在?
常见到的异常值:" " 、undefined、false、0、null
试一试:这里面哪几个值会判定a存在?
判断一个对象的内存属性是否可用
如果要读取某个对象的内部属性,我们往往也是需要先判断一下这个对象是否存在
除了三元运算符 ?:
外,ES2020引入了链判断运算符 ?.
if(a?.length){
// 存在
}
a?.b
// 等同于
a == null ? undefined : a.b
左侧的对象是否为null或undefined。如果是,就不再往下运算,直接返回undefined。