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