- React工程師修煉指南
- 開課吧組編 高少云 莫濤 韓明洋 余維海編著
- 565字
- 2021-04-14 11:28:40
1.3 字符串擴展
1.3.1 Unicode支持
Unicode的目標是為世界上每一個字符提供唯一標識符,唯一標識符稱為碼位或碼點(Code Point)。而這些碼位是用于表示字符的,又稱為字符編碼(Character Encode)。JavaScript里是可以通過\uxxxx的形式來表示一個字符,例如:\u0061表示字符a。但是這種語法限于碼點在U+0000~U+FFFF之間的字符。超出這個范圍的字符必須用兩個字節來表示,例如:

ES6針對上述情況增加了大括號來讓字符正確解讀,代碼如下:

1.3.2 新增字符串方法
在ES5中,一般通過indexOf方法來判斷一個字符串是否包含在另外一個字符串中。如果能夠找到就會返回被查找字符串的索引位置,如果沒有找到就會返還“-1”,如:

ES6中新增了includes()、startsWith()、endsWith()方法來查找字符串。
includes():返還布爾值,表示是否找到了字符串。
startsWith():返還布爾值,表示被檢測字符串是否在源字符串的頭部。
endsWith():返還布爾值,表示被檢測字符串是否在源字符串的結尾。

ES6標準中也新增了repeat()方法返回新的字符串將源字符串循環指定次數。例如:

1.3.3 模板字符串
ES5標準中一般輸出模板是通過字符串拼接的方式來進行的,例如:

在上述字符串拼接中注意單雙引號的使用。如果遇到多行字符串的情況需要通過“\n”來手動換行。但是在ES6中可以通過模板字符串簡化上述寫法,模板字符串通過反引號來表示“``”。如果要嵌入變量通過“${}”來實現:


模板字符串在使用過程中支持多行字符串,“${}”里可以接收三目運算符。遇到特殊字符同樣需要通過“\”來進行轉義:
