写点什么

TC39 敲定 ECMAScript 2018 特性集

  • 2018-02-06
  • 本文字数:990 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

1 月 23 日至 25 日的 TC39 会议敲定了 ES2018 的特性集。ES2018 是对 ECMAScript 语言规范的最新修订。这次更新中新添加的特性包括异步迭代器、用于对象解构(Object Destructuring)和对象字面量(Object Literal)的restspread操作符,并大幅改进了正则表达式。此外,还对 Promise 和模板字面量(Template Literal)做了进一步改进。

新敲定的 Asynchronous Iteration 功能,原生支持在 JavaScript 中对异步获取的数据做迭代。异步获取方式包括 Node.js 中的文件读取、浏览器中的 WebSocket 等。该特性在扩展了已有的生成器和循环功能的同时,在语言中引入了两个新的关键字,asyncawait。在 Hackernoon 的一篇帖子中,Mostafa Gaafar 解释了新语法的价值所在:

async/await无疑是 JavaScipt 在过去数年中添加的最具革命性的特性之一。该特性可使开发人员认识到一个语法混乱的 Promise 是什么样的,并为此提供了直观的替代解决方案。

Asynchronous Iteration 可使用 Babel 做源码到源码的编译(Transpilable),并在 Node.js 7.6 之后的版本、Chrome、Firefox 和 Safari 技术预览版中原生提供。

新规范中还添加了支持对象字面量的 spread/rest语法。自 ES2015 以来,在数组上就已经支持该语法。此次更新是对该语法的一个泛化。在 Google 开发者博客上,Mathias Bynens 发表了一篇介绍性文章。文章解释说“在很多情况下, spread属性是Object.assign()的一种更优雅的替代实现”。该特性同样可使用 Babel 做源码到源码的编译,并在 Node 8.6 以后的版本、Chrome、Firefox 和 Safari 技术预览版中提供原生支持。

对于已有的功能而言,新规范中的最大更改是对正则表达式的改进。ECMAScript 2018 为正则表达式添加了一系列新特性。这些特性已经在其它一些语言中存在,但是尚未在JavaScript 中得到支持。其中包括DOTALL 模式、后行断言(Lookbehind Assertions)、命名捕获组(named capture group)和Unicode 属性转义(Property Escape)等。

最后要介绍的2018 规范中的更改,就是对模板字面量功能的修改,允许了一些以前是非法的字符序列。如果开发人员想要对最终敲定的提案眼见为实,可从GitHub 中检出TC39 的最终建议列表,或是跟踪TC39 之前所有进入正式流程的提案

查看英文原文: TC39 Finalizes Feature Set for ECMAScript 2018

2018-02-06 18:001769
用户头像

发布了 391 篇内容, 共 135.0 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

信用卡业务愈卷愈烈,银行机构如何突围?

易观分析

信用卡业务

gRPC C++开发环境搭建

赖猫

c c++ gRPC

SQL优化

工程师日月

6月月更

软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?

伤心的辣条

程序员 程序人生 软件测试 自动化测试 Python自动化

三星堆重大发现!信息量巨大

Dylan

三星堆 四川省 文物

Executor

急需上岸的小谢

6月月更

剑指 Offer 58 - II. 左旋转字符串

未见花闻

6月月更

华为云Stack首席架构师:打造“称手”的数字化工具,答好政企IT数字化转型这道必选题

华为云开发者联盟

云计算 数字化转型 多云管理 华为云Stack

俄航天局局长:外星生命或正在研究人类文明

Dylan

俄罗斯 外星人 航天局

想秀你就秀!环信MVP招募计划正式启动,诚邀您加入!

环信

IT 即时通讯 IM 技术分享

ConcurrentHashMap 源码分析-扩容

zarmnosaj

6月月更

快速实现微信登录第三方小程序快捷方式

Geek_99967b

小程序 小程序转app

vue监听器

小恺

6月月更

养老金融政策频出,市场有多大?

易观分析

养老消费

想学好软件测试,这些软件必不可少

伤心的辣条

Python 程序员 程序人生 软件测试 自动化测试

工业互联网生态建设加速,小程序容器技术跨端开发特性助力突围

Speedoooo

跨端开发 软件安全 降本增效 敏捷迭代 多端运行

Lazada的算法本土化实践:让东南亚没有难投放的广告

科技新知

数据库每日一题---第11天:合作过至少三次的演员和导演

知心宝贝

数据库 前端 后端 6月月更

剑指offer系列——剑指 Offer 49. 丑数

未见花闻

6月月更

Notebook在复现数据科学研究成果中的丝滑使用

Baihai IDP

AI notebook 数据科学 科研成果

投稿开奖丨云服务器ECS征文活动(3月)大奖公布

阿里云弹性计算

DNS 云服务器 ECS DoH

换掉bpmn-js,让前端更熟悉工作流业务

相续心

前端 流程图 workflow

实时数仓实战

鲸品堂

数据 实时数仓

如何方便的将小程序转换成APP

Geek_99967b

小程序 小程序容器

静态链接,静态分派,动态链接

北洋

android 6月月更

力扣每日一练之二分查找Day7

京与旧铺

后端 6月月更

一文读懂当今AI圈大热的“MLOps”

澳鹏Appen

人工智能 机器学习 大数据 数据标注 运维开发

在万家灯火阑珊处,重新认识平板电脑

脑极体

让你驱动力开机工作了,不是在待机状态。

叶小鍵

用FinClip实现App小程序微信授权登录详解

Geek_99967b

小程序 小程序容器

看完就会,从抓包到接口测试的全过程解析

伤心的辣条

程序员 自动化测试 接口测试 测试开发 Python自动化

TC39敲定ECMAScript 2018特性集_JavaScript_Kevin Ball_InfoQ精选文章