前端资讯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; // 31RegExp 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 正式标准公布的主要内容,如果未能解决你的问题,请参考以下文章