Loading

es 可选链操作符(?.) 和 双问号(??)的用法

1 可选链操作符(?.)

js 对象取值时 假如属性不存在使用时可不报错

const material= {
      data:{
        name:'测试',
      }
  }
 
正常取值为 
  console.log(material.data.name);
 
假如取值不存在的 则会报错
  console.log(material.dataForm.name);
 
假如使用 ?. 则返回 undefined
   console.log(material.dataForm?.name);

2 双问号 ??

 左边的值是 null 或者 undefined,那么就返回右边的值。


可用做判空
if(value !== null && value !== undefined && value !== ''){
//...
}
可改为
if((value??'') !== ''){
//...
}

 两者合并使用

 const data= {
     name: "小明",
 };
 const result = data?.name1 ?? "小李";
 console.log(result); // 小李
posted @ 2022-04-02 10:18  请叫我王小胖  阅读(1010)  评论(0编辑  收藏  举报