新年已过,ES7还没用熟,ES8就已经悄然无声的接近我们了。ECMAScript有望在6月发布新的2018版本。
新版本有哪些令人期待的特性呢?
stage是什么?
stage 指的是所谓的“TC39 进度”中每个成熟的阶段,详见“探索 ES2016 及 ES2017”一书中的“ECMAScript中的 TC39 进度” 章节。地址:https://github.com/tc39
Stage 4意味着这个特性将会包含在下一个版本中(或者下下个版本)。
Stage 3意味着这个特性有机会出现在下一个版本中。
ES2018明确新增特性
目前为止,已经确定了纳入ECMAScript 2018规范的两项提案。
取消模板字面量的限制,以支持语言的嵌入,包括特定领域的语言(DSLs)。当前对免责条款的限制使这成为一个问题。这次修改可以清除字面量的行为,让它们被运用于DSLs,这样程序员就可以在需要的时候创建自己微语言。
ES6增加了字符串模板的用法:
字符串模板
为正则表达式添加s(dotAll)标志,该功能的目的是解决在正则表达式中,点(.)不匹配行终结者字符的限制,
比如字符串中无法用点来匹配换行符:
无法用点(.)匹配换行符
当前的解决办法是用: [\s\S]非空格或者空格 or [^] 非空 来匹配。
ES2018新特性中:
正则增加 /s参数,可以匹配行终结者字符
ES2018可以期待增加的新特性
Rest/Spread 属性 (Sebastian Markbåge)
异步迭代 (Domenic Denicola)
正则表达式后行断言 (Daniel Ehrenberg)
正则表达式 Unicode 属性转义 (Brian Terlson, Daniel Ehrenberg, Mathias Bynens)
正则表达式命名捕获组 (Daniel Ehrenberg, Brian Terlson)
BigInt – 高精度整数 (Daniel Ehrenberg)
Class 域 (Daniel Ehrenberg, Jeff Morrison)
可选 catch 绑定 (Michael Ficarra)
具体详情请参考:
http://exploringjs.com/es6/ch_template-literals.html#sec_overview-template-literals
领取专属 10元无门槛券
私享最新 技术干货