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); // 小李


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM