字符串的新增方法

String.fromCodePoint()

由于ES5提供的String.fromCharCode()方法不能返回碼點大于OxFFFF的字符,所以ES6提供了String.fromCodePoint()方法,用來彌補不足。

String.raw()

作用:返回一個斜杠都被轉義的字符串

用處:主要是用在模板字符串的處理上,它可以將模板字符串的變量替換為值,并將/轉義

String.raw()一般不會用作函數(shù),用作參數(shù)時,第一個參數(shù)是一個帶有raw屬性的對象,后面參數(shù)任意多個。

當它用作函數(shù)時的作用是將除了第一個參數(shù)外的參數(shù)插入到第一個參數(shù)的raw屬性對象中。插入方法是隔一個元素插入一個。

實例方法:codePointAt()

由于JavaScrip中不支持字符以UTF-16的格式存儲,所以當一個碼點超過unicodeOxFFFF就會被認為是兩個字符,而charAt不能正常訪問,charCodeAt()只能返回前兩個字節(jié)和后兩個字節(jié)的值。

所以,ES6提供了codePointAt(),可以正確的處理4個字節(jié)存儲的字符

注意:

  1. codePointAt()返回的碼點是十進制的,如果想要十六進制可以使用.toString(16)。
  2. 想要正確輸出四個碼點以上的值,可以通過for..of幫助

實例方法:normalize()

normalize可以將Unicode正規(guī)化,用來將字符的不同表示方法統(tǒng)一為同樣的的形式。

normalize的參數(shù)分別是:NFC,NFD,NFKC,NFKD主要用于控制返回值

注意:normalize方法目前不能識別三個或三個以上字符的合成。

實例方法:includes(),startsWith(),endsWith()

這三種方法都是用來判斷一個字符串是否在另一個字符串中。

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

注意:三種方法都有第二個參數(shù),但是endsWith的是指前n個字符,而其他兩種方法是從第n個字符到最后一個字符

實例方法:repeat

repeat方法是返回一個新字符串,該字符串是將原字符串重復n次的結果

  1. 如果n是小數(shù),會先取整
  2. 如果是負數(shù)或者Infinity,會報錯
  3. 如果是0- -1之間的小數(shù),會被認為是0
  4. NaN被認為是0
  5. 如果n是字符串,則會先轉成數(shù)字。

實例方法:padStart(),padEnd()

ES2017引入了字符串補全功能,如果某個字符串不夠指定長度,那么就可以實現(xiàn)自動補全,其中padstart是頭部補全,padEnd是尾部補全

參數(shù):

  1. 第一個參數(shù)是指定字符串想要達到的長度
  2. 第二個參數(shù)是用于補全的字符串

情況

  1. 如果原字符串的長度等于或大于目的長度,則補全函數(shù)不生效,返回原來的字符
  2. 如果原字符串加補全字符串的長度大于目的長度,則會截掉部分補全字符串。
  3. 省略第二個參數(shù),則會用空格來補全長度

用處

  1. padstart用于補全字符位數(shù)
  2. 制作提示字符串,如日期。

實例方法:trimStart(),trimEnd()

trimStart()用于消除字符串首部的空格,而trimEnd()用于消除字符串尾部的空格,它們都是返回新的字符串,不會修改原始字符串。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容