標籤:結束 編碼 bsp 調用 number mat 位置 一個 通知
1. ES6字串變更
(1)includes() 方法,如果在字串中檢測到指定文本返回true,否則返回false
(2)startsWith()方法,如果在字串的起始部分檢測到文本,則返回true,否則返回false
(3)endsWith()方法,如果在字串的結束部分檢測到文本,則返回true,否則返回false
以上方法都接收兩個參數,一個是要檢測的文本,第二個參數是可選的,也即檢索開始的位置,在第三個方法中,從字串長度減去這個索引值的位置開始匹配
(4)repeat()方法,接收一個number型別參數,表示該字串重複次數
"x".repeat(3) // ‘xxx‘ " ".repeat(4) // 4個空格 控制縮排
codePointAt(),String.fromCodePoint() ,normalize() 標準化 針對32位編碼單元的方法
2. Regex
(1) u修飾符 從編碼單元模式切換為字元模式, 不會把32位編碼單元(代理對)視為兩個字元
(2) y修飾符 在字串開始匹配字元時,通知搜尋從Regex的lastIndex屬性開始進行,如果在指定位置沒能匹配成功,則停止匹配
只有調用exec() 和 text() 這些Regex對象的方法才會有lastIndex 屬性, 調用字串的方法(match) 不會觸發粘滯行為
(3)Regex的複製
ES5中, var re1 = /ab/i,
re2 = new RegExp(re1);
re2是re1的一份拷貝
re2 = new RegExp(re1,‘g‘); // 在ES5中拋出錯誤,在ES6中正常運行
(4)flags 屬性
ES5中可以通過source屬性擷取Regex的文本,ES6中新增flags屬性來擷取修飾符
let re = /ab/g;
re.source // "ab"
re.flags // "g"
getFlags(re) // "g"
ES6字串和Regex改動