ECMAScript 2017(ES8):新特性及使用方法

阅读时长 4 分钟读完

ECMAScript 2017(也称作 ES8)是 JavaScript 的最新版本,于 2017 年 6 月发布。它包含了很多新特性,即使你是一位有经验的前端开发者,也可能不知道所有的特性。本文将详细讨论 ES8 这些新特性并给出示例代码。

1. Object.entries() 和 Object.values()

在 ES8 中,我们有两个新的方法用来获取对象的键值和键值对:Object.entries()Object.values()Object.entries() 可以将对象转化为键值对数组;Object.values() 可以将对象的值转化为数组。

-- -------------------- ---- -------
----- --- - -
  ----- ------
  ---- ---
  ------- ------
--

-- ----------------
--------------------------------- 
-- ------- --------- ------- ------- ---- ---------- --------

-- ---------------
--------------------------------
-- ------- ------- --- -------

这些方法的返回值是一个数组,而不是一个类似数组的对象。

2. async 和 await

这是 ES8 中最强大的特性之一。async 关键字定义一个异步函数,await 关键字等待异步函数返回结果。这两个关键字一起使用,可以让我们更方便的操作异步操作,避免了大量回调嵌套的问题。

在这里,我们定义了一个 fetchData 函数,它使用 fetch 方法来获取数据,并且使用 await 等待 fetch 返回结果。这个函数返回的是一个 promise,我们可以使用 then 方法得到结果。

3. Object.getOwnPropertyDescriptors()

ES8 中新增了一个方法 Object.getOwnPropertyDescriptors(),它可以获取对象所有的属性描述符。这个方法常常在使用 Object.defineProperties() 来定义对象属性时使用。

-- -------------------- ---- -------
----- --- - -
  ----- ------
  ---- ---
--

----- ----------- - --------------------------------------

-------------------------
-- ------- 
-- -
--   ----- - ------ ------ --------- ----- ----------- ----- ------------- ---- --
--   ---- - ------ --- --------- ----- ----------- ----- ------------- ---- -
-- -

4. String padding

在 ES8 中,我们有两个新的方法可以给字符串填充指定的字符:padStart()padEnd()

在这里,我们给字符串 Hello 添加了前后填充字符 x,使其总长度为 10。padStart() 方法是在字符串头部填充,padEnd() 方法是在字符串尾部填充。

5. Trailing commas

在 ES8 中,我们可以在对象与数组的最后一个元素后添加逗号。这个特性让代码更好维护,并且也很方便的在版本控制系统中查看变更历史。

-- -------------------- ---- -------
----- --- - -
  ----- ------
  ---- ---
--

----- --- - --- -- ----

----------------- -- - ----- ------ ---- -- -
----------------- -- --- -- --

如上例所示,我们可以在对象 obj 和数组 arr 后添加逗号,这不会影响代码的执行。

总结

ES8 包含了很多新特性,让 JavaScript 更加强大和易用。在本文中,我们介绍了一些常见的新特性,并给出了使用示例。学习这些新特性可以让我们更加高效的编写 JavaScript 代码,提高工作效率。

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

纠错
反馈