空值合并操作符(??)
- 功能:只有左侧表达式的值为 null 或者 undefined 时,才会返回右侧的值,否则返回左侧的表达式的值
console.log('可乐' ?? '虾皮')
console.log(123 ?? '虾皮')
console.log(true ?? '虾皮')
console.log('' ?? '虾皮')
console.log(0 ?? '虾皮')
console.log(null ?? '虾皮')
console.log(undefined ?? '虾皮')
可选链操作符(?.)
- 功能:可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效(在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误)
if(res&&res.data&&res.data.obj){}
if(res&&res.data&&res.data.array&&res.data.array.length){}
if(res?.data?.obj){
if(res?.data?.array?.length){