发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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:001665
用户头像

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

关注

评论

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

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

如何使用Towify在微信小程序中配置输入必填报错?

Towify

小程序 微信小程序 无代码 无代码微信小程序

从URL输入到页面展现到底发生什么?

loveX001

JavaScript

陈世佳酿贾斯特里尼&布鲁克斯,优质葡萄酒连储藏都有秘诀

联营汇聚

实用指南:手把手搭建坚若磐石的DevSecOps框架

SEAL安全

DevSecOps 12 月 PK 榜 DevSecOps框架 实用指南

软件测试 | 测试开发 | 一文搞定 Postman 接口自动化测试

测吧(北京)科技有限公司

先到先学!阿里新产Spring全家桶核心笔记,底层源码+应用全覆盖

程序员小毕

spring 源码 后端 架构师 java面试

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

一文梳理HTTP、TCP、Socket和WebSocket的区别和联系

No Silver Bullet

TCP 网络协议 HTTP websocket 12月月更

【论文推荐】TDSC2022 安全补丁识别最新的方案E-SPI

华为云开发者联盟

后端 开发 华为云 12 月 PK 榜

Java7提供的Fork/Join框架实现高并发程序,你会使用吗

华为云开发者联盟

高并发 开发 华为云 12 月 PK 榜

前端必会面试题总结

loveX001

JavaScript

如何实现移除控件?

Towify

编辑器 无代码 无代码微信小程序

前端关于面试你可能需要收集的面试题

loveX001

JavaScript

贾斯特里尼&布鲁克斯,葡萄酒中的天花板

联营汇聚

新项目为什么决定用 JDK 17了

古时的风筝

Java JVM jdk17

区块链+物联网,如何解决农产品溯源之痛?

旺链科技

区块链 物联网 产业区块链 农产品 12 月 PK 榜

vivo 推荐业务 x DeepRec:全链路优化实践

阿里云大数据AI技术

人工智能 gpu 推荐引擎 12 月 PK 榜

【观看直播有礼】第三届云原生实战峰会正式官宣启动

阿里巴巴云原生

阿里云 云原生 实战峰会

分布式注册服务中心etcd在云原生引擎中的实践

京东科技开发者

分布式 云原生 etcd 集群 go语言

跨平台应用开发进阶(二十八) :资源加载速度优化解决方案

No Silver Bullet

跨平台 12月月更 资源加载优化

好酒要有好工艺,贾斯特里尼&布鲁克斯,用心酿造每一滴酒

联营汇聚

分支路径图调度框架在 vivo 效果广告业务的落地实践

vivo互联网技术

图调度 效果广告 分支路径

从输入URL到渲染的完整过程

loveX001

JavaScript

低碳机关先行,昆明引领分布式光伏新变革

Geek_2d6073

数据可视化图表系列解析——折线图

Data 探险实验室

数据分析 可视化 数据可视化 可视化数据 折线图与饼图

手把手教你一套完善且高效的k8s离线部署方案

京东科技开发者

Docker k8s ansible ulimit 云计算,

跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程

No Silver Bullet

uni-app android 跨平台应用 云打包 12月月更

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

小哈区块

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

HummerRisk V0.7.0:支持京东云、webhook、PDF下载等

HummerCloud

云安全 云原生安全

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