1. 程式人生 > >《ES6標準入門》29~48Page 字符串拓展 正則拓展

《ES6標準入門》29~48Page 字符串拓展 正則拓展

har 字節 其中 logs 屬性表 regex fff 不能 包含

1.字符串的拓展

ES3允許使用類似\u0061這樣的形式來表示字符,其中的數字是Unicode-8編碼。

但如果超出\uffff的字符,必須使用雙字節的形式表達,例如 \uD842\uDFB7。

在ES6中,可以用\u{20BB7}這種形式表示,其中數字是Unicode-16編碼。

對於需要Unicode-16編碼存儲的字符,ES認為有2個字符。此時使用String.codePoinAt()方法,可以準確的識別字符串中的字符,如果需要遍歷,則需要使用for...of循環。

與此相對,String.charAt方法則不能正確識別。

String.include()方法返回是否包含參數字符串,而startsWith()和endsWith()方法可以判斷參數字符串是否處於源字符串的頭尾部。

String.repeat()方法可以返回字符串n次。

ES6提供了模板字符串,並提供了String.raw()方法處理模板字符串。

const name = "Ann";
const age = 19;
console.log(`Im ${name},${age} years old!`);
//I‘m Ann,19 years old!

//raw()方法返回一個編譯模板字符串後的,反斜線被轉義的字符串。
let str = raw`Im ${name}\`;
console.log(str);
//I‘m Ann\\

2.正則表達式拓展

RegExp函數在ES6中可以接受正則表達式作為參數,返回一個參數本身。

String對象可以有match()、replace()、search()、split()方法可以接受正則表達式。

正則表達式匹配了字符串中的新Unicode表示法,並添加了y修飾符和對應的sticky屬性表示是否設置了y修飾符,flags屬性返回所有修飾符。

y修飾符從上次搜索的末尾開始。

《ES6標準入門》29~48Page 字符串拓展 正則拓展