ES2017 特性及简单示例

2025-05-25

ES2017 特性及简单示例

介绍

ES2017 又名 ES8,是 ECMAScript 2017 年对应的版本。此版本不像 ES6(2015 年)那样包含那么多新功能。但是,也包含了一些有用的功能。

本文通过简单的代码示例介绍了 ES2017 提供的功能。这样,您无需复杂的解释即可快速理解这些新功能。

当然,要完全理解所介绍的最佳内容,必须具备 JavaScript 的基础知识。

ES2017 中的新 #JavaScript 功能包括:

➡️ Object.values/Object.entries
➡️️ 字符串填充
➡️️ Object.getOwnPropertyDescriptors
➡️️ 函数参数列表和调用中的尾随逗号
➡️️ 异步函数
➡️️ 共享内存和原子

对象.值/对象.条目

对象值接受一个对象并返回一个包含值的数组,其顺序与 for...in 循环给出的顺序相同。

另一方面,Object.entries 接受一个对象并返回一个包含键值对数组的数组。

字符串填充

padStart() 方法会用另一个字符串填充当前字符串(如果需要,可以填充多次),直到结果字符串达到给定的长度。填充操作从当前字符串的开头开始。

padEnd() 方法使用给定的字符串填充当前字符串
(如果需要,则重复),以使结果字符串达到
给定的长度。

对象.getOwnPropertyDescriptors

getOwnPropertyDescriptors 返回给
定对象的所有自身属性描述符。

  • value — 与属性关联的值(仅限数据描述符)。
    writable — 当且仅当与属性关联的值可以更改时才为 true

  • get — 作为属性的 getter 的函数。

  • set — 作为属性的设置器的函数。configurable
    — 当且仅当此属性描述符的类型可以更改时才为 true。

  • enumerable — 当且仅当此属性在属性枚举期间出现时才为 true。

函数参数列表和调用中的尾随逗号

有两个好处:

  1. 如果最后一项改变了位置,则不必添加或删除逗号。

  2. 它帮助版本控制系统追踪实际发生的变化。

异步函数

异步函数声明定义了一个异步函数——一个返回 AsyncFunction 对象的函数。异步函数通过事件循环以不同于其他代码的顺序运行,并返回一个隐式的 Promise 作为其结果。但使用异步函数的代码的语法和结构看起来像标准的同步函数。

共享内存和原子

Atomics 是一个全局变量,其方法有三个主要用例。

  1. 同步

  2. 等待通知

  3. 原子操作

以下示例向您展示了用例。

结论

JavaScript 是一门充满活力的语言,这对于 Web 开发来说意义非凡。自 2015 年 ES6 发布以来,我们见证了这门语言的蓬勃发展。在本文中,我们回顾了 ES2017(又称 ES8)中新增的功能。

尽管其中的许多功能对于 Web 应用程序的开发来说可能并非必不可少,但它们提供了以前需要使用技巧或冗长代码才能实现的可能性。

文章来源:https://dev.to/carlillo/es2017-features-with-simple-examples-2cp0
PREV
理解设计模式:空对象
NEXT
Clean Code Applied to JavaScript — Part V. Exceptions Introduction Prefer Exceptions to Returning Error Codes Don't ignore caught error! Don't ignore rejected promises Exceptions Hierarchy Provide context with exceptions Conclusions