1.??属于ES11新特性(空值合并操作符),当操作符左侧是null或为undefined时,返回右侧操作数,负责返回左侧2.!!相当于变量转为布尔值(类似Boolean(变量)) 1.?? 属于ES11新特性(空值
1.??
属于ES11新特性(空值合并操作符),当操作符左侧是null或为undefined时,返回右侧操作数,负责返回左侧
2.!!
相当于变量转为布尔值(类似Boolean(变量))
3.?.可选链
const adventurer = { name: 'Alice', cat: { name: 'Dinah' }};const dogName = adventurer.dog?.name;console.log(dogName);// expected output: undefinedconsole.log(adventurer.someNonExistentMethod?.());// expected output: undefined
节选自 可选链操作符
这样使用的话可以避免报错。只能影响当前标记下的,如果层度深的话需要多标记。