??、!!、?.

1.??

属于ES11新特性(空值合并操作符),当操作符左侧是null或为undefined时,返回右侧操作数,负责返回左侧

2.!!

相当于变量转为布尔值(类似Boolean(变量))

3.?.可选链 

const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined

console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined

节选自 可选链操作符

这样使用的话可以避免报错。只能影响当前标记下的,如果层度深的话需要多标记。

posted @ 2022-01-24 15:01  Frose  阅读(194)  评论(0)    收藏  举报