- 使用场景
let body = {
value: {
name: 'andy'
}
}
let result = body?.value
console.log(result);
let flag = body ? body.value : undefined
console.log(flag)
- 如果body其一是
null或undefined的话,它就直接返回undefined,不往后执行了,避免了语法报错的风险。它不仅可以针对对象,还可以针对数组:
let arr = { item: [{ name: 'andy' }] }
let getName = ()=>{
if (arr.item && arr.item.length > 0) {
return arr.item[0].name
}
}
console.log(getName());
let getNameNew = () => {
return arr.item?.[0]?.name
}
console.log(getNameNew());
- 使用场景:
let res = {
data: {
content: null,
content1: false,
content2: 0
}
}
const tableList1 = res?.data?.content || [4, 5, 6]
const tableList4 = res?.data?.content ?? [4, 5, 6]
const tableList2 = res?.data?.content1 || [4, 5, 6]
const tableList3 = res?.data?.content2 || [4, 5, 6]
const tableList5 = res?.data?.content1 ?? [4, 5, 6]
const tableList6 = res?.data?.content2 ?? [4, 5, 6]