ES9 优质文章推荐:全面掌握 ECMAScript

ECMAScript(简称 ES)是一种基于 Web 平台的脚本语言,由 ECMAScript 标准规定语言的语法和语义。除了浏览器端,ES 也广泛应用于 Node.js 和其他平台。在现代 Web 开发中,掌握 ES 技能是非常重要的一项能力。而随着 ES 的不断更新,每个版本都会有新特性的加入和删除,因此,学习 ES 是一个不断进步和持续学习的过程。

本篇文章为您推荐 ES9 的优质文章,帮助您深入了解 ES。

ES9 新特性

ES9(正式名称为 ECMAScript 2018)是 ES 的最新版本,于 2018 年 6 月发布。最引人注目的 ES9 新特性之一是增加了异步迭代器(Async Iteration)功能。ES9 还新增了正则表达式命名捕获组、Rest/Spread 属性、Promise 的 finally() 方法等。接下来,我们将深入研究 ES9 的这些新特性。

异步迭代器

在 ES9 中,新增了一种新的迭代器类型:异步迭代器。与常规迭代器不同,异步迭代器允许在异步操作中使用迭代器逻辑。这为开发人员提供了便利,因为异步数据源和操作在 Web 开发中十分常见。

异步迭代器可以使用 Symbol.asyncIterator 进行声明,并通过 for await...of 循环进行遍历。例如,下面是一个返回异步值的迭代器(采用 Promise 方式):

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

可以通过 for await...of 进一步处理异步索引值:

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

正则表达式命名捕获组

在 ES9 中引入了命名捕获组,可以通过命名分组分别捕获和访问正则表达式中的不同部分。命名捕获组使用语法 (?<name>expression) 进行声明。

例如:

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

输出:

---- -- --

Rest/Spread 属性

ES9 还新增了 Rest/Spread 属性,简化了函数和对象的参数和数据结构处理。使用 ... 运算符将一组值赋给一个数组、对象或函数参数,可以轻松实现批量处理代码。

例如:

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

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

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

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

Promise 的 finally() 方法

在 ES9 中,Promise 新增了一个 finally() 方法。该方法无论 Promise 对象的状态如何,都会执行传递给它的回调函数。

例如:

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

学习资源推荐

想要全面掌握 ES 技能,不仅需要了解 ES9 的新特性,还需要掌握其他版本的语言知识。以下是一些 ES 学习资源的推荐。

阮一峰 - ECMAScript 6 入门

该文章是中文 Web 开发者必看的一篇知名文章,详细讲解了 ES6 的新特性及语法规范。如果您刚刚开始学习 ES,可以首先阅读该教程。

You Don't Know JS

You Don't Know JS 系列是一组涵盖 ES 背景、类型、语法和异步编程的书籍。虽然有些部分比较深度和复杂,但是对于想要更深入了解 ES 的开发人员来说,这些书籍是学习的必备资源。

MDN web docs

MDN web docs 是 Mozilla 为开发者提供的一份 Web 开发文档。其中提供了 ES 规范的详细中英文 API 文档,并且能够随着 Web 技术的发展不断更新和完善。因此从 MDN 学习 ES 技能,能够及时了解到 Web 开发中最新的语言特性。

总结

ES9 异步迭代器、正则表达式命名捕获组、Rest/Spread 属性、Promise 的 finally() 方法等新特性为开发人员提供了更便利的开发方式。同时,了解 ES 的其他版本特性,掌握 ES 技能是 Web 开发中一个十分重要的能力。以上是本篇文章所推荐的 ES 学习资源,希望对您的学习有所帮助!

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64a4109148841e989407efe9


猜你喜欢

  • 解决 ES12 中函数的默认值以及函数参数的用法

    ES6 中提供了函数参数的默认值,但有时我们需要用到更多的参数,在代码中添加更多的判断语句。幸运的是 ES12 中提供了更多的函数参数用法,让我们的代码更加简洁和易于维护。

    1 年前
  • Flexbox 布局的回退方案

    在当今的前端开发中,Flexbox 已经是一种比较常用的布局方式。然而,对于一些老旧的浏览器可能并不支持该方式,因此需要考虑一些回退方案,以确保页面布局的兼容性。 Flexbox 简介 Flexbox...

    1 年前
  • 借助 Server-sent Events 实现 Server Push 功能的详细步骤

    什么是 Server Push 功能? Server Push 又称为 HTTP/2 Push,是一种主动向客户端推送资源的技术。在传统的 HTTP 协议中,客户端需要发起请求才能获取资源,而 Ser...

    1 年前
  • 在 Headless CMS 中使用 Elasticsearch 实现高效搜索

    随着前端技术的不断进步,越来越多的网站和应用采用 Headless CMS(即只提供数据接口而不提供页面渲染的 CMS)来实现数据的管理和展示。而搜索是 Headless CMS 中常见的功能之一,而...

    1 年前
  • 使用 Chai 和 Jest 进行 JavaScript 单元测试

    JavaScript 是一种非常灵活的编程语言,它的应用场景涵盖了前端、后端、移动端、桌面端等众多领域。在开发 JavaScript 应用程序的过程中,单元测试是不可避免的一环,这样可以确保代码质量和...

    1 年前
  • MongoDB 如何查询两个字段组合起来唯一,且忽略大小写的问题?

    在 MongoDB 中,查询两个字段组合起来唯一是一个比较常见的需求,特别是在需要用户名和密码登录的场景。而且在实际情况中,有时候我们也需要忽略大小写。在这篇文章中,我们将会分享如何通过 MongoD...

    1 年前
  • ES8 中的 Async/await 入门及使用技巧

    在前端工作中,异步编程是常见且不可避免的一部分。ES8 中的 Async/await 是一种优秀的异步解决方案,使异步编程变得更加简单、清晰易懂。本文将深入解析 Async/await 的基本概念和使...

    1 年前
  • TypeScript 类的继承方式详解

    前言 TypeScript 是一种面向对象的编程语言,它大量使用类来组织代码和数据。类是 TypeScript 提供的基本代码组织单元之一,也是面向对象编程的核心概念之一。

    1 年前
  • PWA:如何保证用户数据安全性?

    随着前端技术的飞速发展,越来越多的网站开始采用 PWA 技术来提供更好的用户体验。PWA(Progressive Web Applications)是一种渐进式 Web 应用的技术架构,它能够让 We...

    1 年前
  • 基本的 Node.js 和 Express.js Auth 权限系统教程

    在现代 Web 应用程序中,身份验证和授权是不可或缺的部分。在 Node.js 中,我们可以使用 Express.js 框架来创建可伸缩且易于维护的 Web 应用程序,同时实现基本的身份验证和授权功能...

    1 年前
  • 搞定 Webpack 打包优化 - 渐进式 + 高效

    在前端开发中,Webpack 是一个非常重要的工具,可以帮助我们实现代码的合并、压缩和优化。但是,在使用 Webpack 进行打包的过程中,可能会遇到一些问题,比如打包时间过长、打包后的文件过大等。

    1 年前
  • 手把手教你打造完美的响应式网格系统

    在前端开发中,响应式设计已经成为了一种趋势。而网格系统是响应式设计中非常重要的一部分,通过网格系统可以实现页面的自适应和布局分割,让页面更加美观和易于维护。本文将手把手教你打造一款完美的响应式网格系统...

    1 年前
  • ES7 新特性之 String#padStart() 和 String#padEnd() 方法

    在 ECMAScript 2016(又称为 ES7)中,新增了两个 String 方法:padStart() 和 padEnd()。这两个方法可以方便地填充字符串,从而让字符串具有固定的宽度。

    1 年前
  • Jest 的配置文件及其常见配置项

    前言 Jest 是 Facebook 推出的一款流行前端测试框架,它具有简单易用、快速执行、提供详细的测试结果和丰富的插件等多种优点,得到了很多前端开发者的青睐。在使用 Jest 进行测试时,我们可以...

    1 年前
  • Serverless 架构中容器的作用及优势

    前言 随着云计算的发展,越来越多的应用和服务开始在云上运行。Serverless 架构是当前云计算中最火热的一种架构形式,它的特点是无需关注基础设施,只需要编写函数代码部署到云平台即可。

    1 年前
  • Hapi.js 实战:使用 nes 进行 Websocket 通讯

    在前端开发中,实时通讯是一个重要的话题。而 Websocket 技术的出现,为我们提供了一种全双工的通讯方式。Hapi.js 是一个基于 Node.js 的 Web 应用框架,在其生态系统中,我们可以...

    1 年前
  • ES2019(ES10)特性的浏览器兼容性

    前言 ECMAScript(简称 ES)是一种由 Ecma 国际标准化组织制定的语言规范,它定义了一种用于编写 Web 应用程序的脚本语言。ES6 是一个重大的版本,它引入了很多重要的特性,如箭头函数...

    1 年前
  • 使用 Gulp 自动编译 SASS 的实现方法

    在前端开发过程中,CSS 风格的选择和维护一直是一项需要重视的工作。SASS 是一个 CSS 预处理器,它的出现大大简化了样式的开发和维护过程,但是每次手动编译 SASS 的过程还是让我们感到繁琐不便...

    1 年前
  • 使用 ES11 中的规范 DateTime 格式处理时间

    在开发网站或应用程序的过程中,处理时间是一个必不可少的需求。ES11 中引入了新的规范化 DateTime 格式,提供了一种更加清晰和一致的方式来处理时间。 在本文中,我们将讨论如何使用 ES11 中...

    1 年前
  • 从 AngularJS 到 Angular2,如何让技术升级变得简单?

    Angular 是一个流行的前端开发框架,现已发展到第二个重要版本。因此,从 AngularJS 转移到 Angular2 并不容易。然而,如果你准备好开始这个过程,这篇文章将为你提供一些更好的了解和...

    1 年前

相关推荐

    暂无文章