Files
DefectingCat.github.io/source/_md/ECMAScript新特性.md
DefectingCat 1b15bd7f5b 更新文章
1. 终于踩完一个坑了
2021-05-13 14:34:50 +08:00

775 B
Raw Blame History

在权威指南以及高级程序设计都出了新版之后,在其中遇到的一些新的 ECMAScript 的新特性也该记录下来了。

函数

条件式调用

在 ES2020 中,可以使用?.()来条件式的调用一个函数。这和对象的条件式访问类似在正常情况下如果直接访问一个不存在nulll 或 undefined的表达式会抛出 TypeError。而使用条件式调用在这种情况下则整个表达式的值为 undefined不会抛出异常。

const test = (num, fn) => {
  fn?.(num);
};

当然他们也有一些些小小的区别:

test.fn(); // 常规属性访问,常规调用
test?.fn(); // 条件式属性访问,常规调用
test.fn?.(); // 常规属性访问,条件式调用