一、字符串扩展
1.字符串的Unicode表示法
"\u0061"
// "a"
这种表示法只限于码点在\u0000~\uFFFF之间的字符
"\u20BB7"
// " 7"
如果直接在\u后面跟上超过0xFFFF的数值(比如\u20BB7),JavaScript 会理解成\u20BB+7。由于\u20BB是一个不可打印字符,所以只会显示一个空格,后面跟着一个7。
'\z' === 'z' // true
'\172' === 'z' // true
'\x7A' === 'z' // true
'\u007A' === 'z' // true
'\u{7A}' === 'z' // true
2.codePointAt()
JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2
个字节。对于那些需要4
个字节储存的字符(Unicode 码点大于0xFFFF
的字符),JavaScript 会认为它们是两个字符。
- 字符的 Unicode 表示法
- codePointAt()
- String.fromCodePoint()
- 字符串的遍历器接口
- normalize()
- includes(), startsWith(), endsWith()
- repeat()
- padStart(),padEnd()
- matchAll()
- 模板字符串
- 实例:模板编译
- 标签模板
- String.raw()
- 模板字符串的限制
二、正则的扩展
- RegExp 构造函数
- 字符串的正则方法
- u 修饰符
- RegExp.prototype.unicode 属性
- y 修饰符
- RegExp.prototype.sticky 属性
- RegExp.prototype.flags 属性
- s 修饰符:dotAll 模式
- 后行断言
- Unicode 属性类
- 具名组匹配
- String.prototype.matchAll
三、数值的扩展