前端研究这个必备,ECMAScript 2020 指南

阅读时长 4 分钟读完

ECMAScript,简称 ES,是一种基于浏览器的脚本语言。它是 JavaScript 标准化的核心,规定了该语言的语法、类型、函数等基础特性。可以说,如果你是前端开发者,学习 ECMAScript 是必不可少的。本文将介绍 ECMAScript 2020 的一些新特性,希望对你有所启发。

可选链操作符

在以往的 JavaScript 中,查询对象的某个属性时,常常需要进行类似于下面这样的判断:

如果该对象已经被声明为 null 或 undefined,那么上述代码就会抛出异常,为了避免这种情况的发生,我们通常采用如下写法:

ECMAScript 2020 提供了可选链操作符 ?.,使得查询对象时更加方便:

如果 person、person.name 或者 person.name.first 为 null 或 undefined,该表达式不会抛出异常,而是返回 undefined。

空值合并运算符

在实际开发中,你可能会需要依次检查多个条件,如果条件都未满足,需要设定默认值。例如:

上述代码的意思是,如果 data.price 为 undefined 或 null,那么 price 将被赋值为 0。ECMAScript 2020 引入了空值合并运算符 ??,用于使用默认值初始化丢失的变量:

该运算符仅在左手操作数为 null 或 undefined 时返回右手操作数。

双 BigInt 支持

JavaScript 中 Number 类型是有范围限制的,如果你需要支持超过 253-1 的数字,那么需要使用 BigInt。在 ECMAScript 2020 中,支持了双 BigInt 的类型。例如:

Promise.allSettled

在之前的版本中,Promise.all 方法会在所有 Promise 都已经完成或其中任何一个 Promise 失败时才返回结果。例如:

在 ECMAScript 2020 中,Promise.allSettled 方法可以返回 Promise 数组结果的状态。例如:

总结

以上是 ECMAScript 2020 的一些新特性介绍,它们将使你的代码更加简洁、实用和易于维护。希望本文能给你提供有关 ECMAScript 的指导和启示。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65adf8bdadd4f0e0ff7840b1

纠错
反馈