String.fromCodePoint()
由于ES5提供的String.fromCharCode()方法不能返回碼點(diǎn)大于OxFFFF的字符,所以ES6提供了String.fromCodePoint()方法种柑,用來彌補(bǔ)不足。
String.raw()
作用:返回一個斜杠都被轉(zhuǎn)義的字符串
用處:主要是用在模板字符串的處理上鄙陡,它可以將模板字符串的變量替換為值乃正,并將/轉(zhuǎn)義
String.raw()一般不會用作函數(shù)诺苹,用作參數(shù)時塌西,第一個參數(shù)是一個帶有raw屬性的對象,后面參數(shù)任意多個筝尾。
當(dāng)它用作函數(shù)時的作用是將除了第一個參數(shù)外的參數(shù)插入到第一個參數(shù)的raw屬性對象中。插入方法是隔一個元素插入一個办桨。
實(shí)例方法:codePointAt()
由于JavaScrip中不支持字符以UTF-16的格式存儲筹淫,所以當(dāng)一個碼點(diǎn)超過unicodeOxFFFF就會被認(rèn)為是兩個字符,而charAt不能正常訪問呢撞,charCodeAt()只能返回前兩個字節(jié)和后兩個字節(jié)的值损姜。
所以,ES6提供了codePointAt()殊霞,可以正確的處理4個字節(jié)存儲的字符
注意:
- codePointAt()返回的碼點(diǎn)是十進(jìn)制的摧阅,如果想要十六進(jìn)制可以使用.toString(16)。
- 想要正確輸出四個碼點(diǎn)以上的值绷蹲,可以通過for..of幫助
實(shí)例方法:normalize()
normalize可以將Unicode正規(guī)化棒卷,用來將字符的不同表示方法統(tǒng)一為同樣的的形式顾孽。
normalize的參數(shù)分別是:NFC,NFD比规,NFKC若厚,NFKD主要用于控制返回值
注意:normalize方法目前不能識別三個或三個以上字符的合成。
實(shí)例方法:includes()蜒什,startsWith()测秸,endsWith()
這三種方法都是用來判斷一個字符串是否在另一個字符串中。
- includes():返回布爾值灾常,表示是否找到了參數(shù)字符串霎冯。
- startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部钞瀑。
- endsWith():返回布爾值沈撞,表示參數(shù)字符串是否在原字符串的尾部。
注意:三種方法都有第二個參數(shù)仔戈,但是endsWith的是指前n個字符关串,而其他兩種方法是從第n個字符到最后一個字符
實(shí)例方法:repeat
repeat方法是返回一個新字符串,該字符串是將原字符串重復(fù)n次的結(jié)果
- 如果n是小數(shù)监徘,會先取整
- 如果是負(fù)數(shù)或者Infinity晋修,會報(bào)錯
- 如果是0- -1之間的小數(shù),會被認(rèn)為是0
- NaN被認(rèn)為是0
- 如果n是字符串凰盔,則會先轉(zhuǎn)成數(shù)字墓卦。
實(shí)例方法:padStart(),padEnd()
ES2017引入了字符串補(bǔ)全功能户敬,如果某個字符串不夠指定長度落剪,那么就可以實(shí)現(xiàn)自動補(bǔ)全,其中padstart是頭部補(bǔ)全尿庐,padEnd是尾部補(bǔ)全
參數(shù):
- 第一個參數(shù)是指定字符串想要達(dá)到的長度
- 第二個參數(shù)是用于補(bǔ)全的字符串
情況
- 如果原字符串的長度等于或大于目的長度忠怖,則補(bǔ)全函數(shù)不生效,返回原來的字符
- 如果原字符串加補(bǔ)全字符串的長度大于目的長度抄瑟,則會截掉部分補(bǔ)全字符串凡泣。
- 省略第二個參數(shù),則會用空格來補(bǔ)全長度
用處
- padstart用于補(bǔ)全字符位數(shù)
- 制作提示字符串皮假,如日期鞋拟。
實(shí)例方法:trimStart(),trimEnd()
trimStart()用于消除字符串首部的空格惹资,而trimEnd()用于消除字符串尾部的空格贺纲,它們都是返回新的字符串,不會修改原始字符串褪测。