美文网首页
判断一个对象是否存在if(a) { }究竟判断了什么?

判断一个对象是否存在if(a) { }究竟判断了什么?

作者: 小妍妍说 | 来源:发表于2021-12-16 17:19 被阅读0次

    判断一个对象是否存在

    实际开发中,若要判断一个对象是否存在,最常用的方法是:

    if(a){
      // 存在
      ...
    }else{
      // 不存在
      ...
    }
    

    有没有想过,a的取值在哪种情况下会存在,哪种情况下会不存在?

    常见到的异常值:" " 、undefined、false、0、null
    试一试:这里面哪几个值会判定a存在?


    image.png

    判断一个对象的内存属性是否可用

    如果要读取某个对象的内部属性,我们往往也是需要先判断一下这个对象是否存在
    除了三元运算符 ?: 外,ES2020引入了链判断运算符 ?.

    if(a?.length){
     // 存在
    }
    
    
    a?.b
    // 等同于
    a == null ? undefined : a.b
    

    左侧的对象是否为null或undefined。如果是,就不再往下运算,直接返回undefined。

    相关文章

      网友评论

          本文标题:判断一个对象是否存在if(a) { }究竟判断了什么?

          本文链接:https://www.haomeiwen.com/subject/cdjvfrtx.html