學習ES6中的字符串擴展小記

字符串的擴展

1. 字符的 Unicode 表示法

JavaScript 可以採用 \uxxxx 形式表示一個字符(表示一個字符的碼點),但是這種表示法只限於在 \u0000 - \uFFFF 之間的字符。超出這個範圍的字符必須使用雙字節的形式進行表示

ES6 可以將碼點放入大括號內,這樣就可以正確的解讀字符了

// 使用大括號進行表示碼點
\u{20BB7}

2. codePointAt()

JavaScript 內部,字符以 UTF-16 的格式存儲,每個字符固定爲 2 個字節。當碼點大於 0xFFFF 的字符(需要 4 個字節存儲),JavaScript 會認爲他們是兩個字符

3. 字符串的遍歷接口

ES6 爲字符串添加了遍歷器接口,使得字符串可以被 for...of 循環遍歷,同時這個遍歷器還可以識別大於 0XFFFF 的碼點

4. includes(),startsWith(),endsWith()

includes():返回布爾值,表示是否找到了參數字符串
startsWith():返回布爾值,表示參數字符串是否在原字符串的頭部
endsWith():返回布爾值,表示參數字符串是否在原字符串的尾部

這三個方法都支持第二個參數,表示開始搜索的位置。但是 endsWith 有所不同,他的第二個參數代表針對前 n 個字符

5. repeat()

repeat 方法返回一個新字符串,表示將原字符重複 n 次

'x'.repeat(3)  // 'xxx'
'hello'.repeat(2)  // 'hellohello'

6. padStart(),padEnd()

如果某個字符串不夠指定長度,會在頭部或者尾部補全。

// 一共接受兩個參數,一個用來指定字符串的最小長度,另一個表示補全的字符串
'x'.padStart(5, 'ad')  // 'adadx'
'x'.padEnd(5, 'ad')  // 'xadad'

規則
1. 如果原字符串的長度,等於或者大於指定字符串的長度,則返回原字符串。
2. 如果用來補全的字符串和原字符串,兩者的長度超過了指定的最小長度,則會截取超出位數的補全字符串
3. 如果省略第二個參數,默認使用空格補全長度

關於 padStart 的常見用途
1. 爲數值補全指定位數,如生成 10 位的數值字符串
2. 另一個用途是提示字符串格式

'123'.padStart(10, '0')  // '0000000123'
'09-12'.padStart(10, 'YYYY-MM-DD')  // 'yyyy-O9-12'

7. 模板字符串

規則
1. 使用反引號進行標識,可以當普通字符串使用。
2. 所以想要在模板字符串中使用反引號時,需要使用反斜槓進行轉義 \。
3. 同時模板字符串中嵌入變量,需要將變量名寫在 JavaScript4.調 {fn()}
5. 如果模板字符串的變量沒有生命,則會報錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章