一、字符串擴展
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
三、數值的擴展