眾所周知,JavaScript預設採用 進行編碼,允許使用 形式表示一個字元,其中 是字元的Unicode碼點。ES6擴展了unicode的表示 1.字元串新增方法 String.codePointAt(index):正確處理4個位元組存儲的字元,返回一個字元的碼點; String.fromCodeP ...
眾所周知,JavaScript預設採用
UTF-16
進行編碼,允許使用\uxxxx
形式表示一個字元,其中xxxx
是字元的Unicode碼點。ES6擴展了unicode的表示
1.字元串新增方法
- String.codePointAt(index):正確處理4個位元組存儲的字元,返回一個字元的碼點;
- String.fromCodePoint(code):識別大於
0xFFFF
的碼點,正確顯示對應碼點的字元; - String.at(index):識別大於
0xFFFF
的字元;(需pollyfill) - String.normalize():將字元的不同表示方法統一為同樣形式;
- String.startWith(string,index):確定一個字元串,從index位以後,是是否以子字元串string開頭;
- String.endWith(string):確定一個字元串,從index位以後,是否以字元串string結束;
- String.includes(string):判斷一個字元串裡面是否包含了字元串string;
- String.repeat(Num):將一個字元串重覆Num次後返回結果字元串;
- String.padStart(Num,string):若一個字元串不夠Num長度,採用string在頭部補全;
- String.endStart(Num,string):若一個字元串不夠Num長度,採用string在尾部補全;
- String.raw(stringArr,args):充當字元串模板的處理函數,返回一個反斜線都被轉義的字元串,對應替換變數後的字元串;
2. 模板字元串
- 模板字元串(template string)是增強版的字元串,用反引號(`)標識。可以當做普通字元串使用、也可以用來定義多行字元串、或者自愛字元串中嵌入變數、嵌套字元串模板。
- 標簽模板(tagged template):模板字元串緊跟在一個函數名後面,該函數被調用來處理這個模板字元串,其使用場景如下:
- 過濾html字元串,防止用戶輸入惡意內容
- 多語言轉換,實現國際化處理
- 在JavaScript語言中嵌入其他語言;
- 模板字元串的第一個參數(模板字元串數組),生成一個raw屬性