ES2018新特性学习

2021-11-26 09:50:50 浏览数 (1)

ECMAScript 2018 (ES9) 在 6 月底正式发布,带来了很多新特性。关于 ES7 和 ES8 相关的知识,可以查看这篇文章 ES2016 和 ES2017 学习。目前大部分 ES7 和 ES8 的特性都得到主流浏览器的支持,而 ES9 的新特性还未能实现很好的兼容性。

关于 ES7/8/9 全部特性可以查看 tc39 官方的 proposals,这些都是最后进入 stage 4 的特性。

ES9 的新特性:

  1. Lifting template literal restriction 模板语法修正
  2. s (dotAll) flag for regular expressions (正则表达式 dotAll 模式)
  3. RegExp named capture groups (正则表达式命名捕获组)
  4. Rest/Spread Properties (Rest/Spread 属性)
  5. RegExp Lookbehind Assertions (正则表达式反向(lookbehind)断言)
  6. RegExp Unicode Property Escapes (正则表达式 Unicode 转义)
  7. Promise.prototype.finally
  8. Asynchronous Iteration (异步迭代器)

正则表达式 dotAll 模式

dotAll 是一个新的正则表达式修饰符,目前 JS 拥有的修饰符有:

  • g -> global
  • i -> ingoreCase
  • m -> multiline
  • y -> sticky
  • u -> unicode
  • s -> dotAll

正则表达式中的 . 用来匹配任何单个字符,但是有 2 个除外:多字节 emoji 字符和行终结符。

代码语言:javascript复制
let regex = /^.$/
regex.test('


	

0 人点赞