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