前端资讯ECMAScript 2018 正式标准公布

Posted FEPulse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端资讯ECMAScript 2018 正式标准公布相关的知识,希望对你有一定的参考价值。

最近的 TC39 会议上公布了 ECMAScript 2018 正式标准,这可是前端开发者的重大资讯,小编带大家一睹为快吧。


Asynchronous Iteration 异步迭代

在 ECMAScript 6 中,javascript 只支持同步迭代来进行数据处理,无法有效应对 HTTP 连接的异步文本行读取等异步迭代操作,因此在新的正式标准中加入了异步迭代。


Rest/Spread 属性

在新的正式标准中对操作符( ... )作出更严格的规定:Rest 操作符( ... )在对象构建中,将只对数组构建和参数定义生效;Spread 操作符( ... )在对象字面量中,将只对数组字面量和函数方法调用生效。


正则表达式

新的正式标准对正则表达式进行了扩充,包含:

  • RegExp Named Capture Groups
    这是一个很方便的特征,可以对正则群组进行命名和使用。

    const RE_DATE = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/;
    const matchObj = RE_DATE.exec('1999-12-31');
    const year = matchObj.groups.year; // 1999
    const month = matchObj.groups.month; // 12
    const day = matchObj.groups.day; // 31
  • RegExp Unicode Property Escapes
    可以额外的对匹配规则添加 Unicode 字节属性。

    > /^\p{Script=Greek}+$/u.test('μετά')
    true
  • RegExp Lookbehind Assertions 
    这项语法可以让你匹配但不包含到匹配结果中,真正做到 0 长度断言。

    const RE_AS_BS = /aa(?=bb)/;
    const match1 = RE_AS_BS.exec('aabb');
    console.log(match1[0]); // 'aa'
  • s (dotAll) flag for regular expressions 

    对点号( . )做了一些限制:1. 不匹配任何 non-BMP 字符例如:表情符号;2. 不匹配任何行结束符。

    > /^.$/.test('

    以上是关于前端资讯ECMAScript 2018 正式标准公布的主要内容,如果未能解决你的问题,请参考以下文章

    ECMAScript2015~2021全特性学习宝典

    第978期ECMAScript 2018 标准导读

    前端开发ECMAScript 6简介

    第 4 种 Web 语言来了:WebAssembly:15 篇前端热文回看

    ECMAScript 2022 正式发布

    前端资讯Gulp v4.0 正式发布