3、字符串的拓展

三、字符串的拓展

#3.1 includes(),startsWith(),endsWith()

在我們判斷字符串是否包含另一個字符串時,ES6之前,我們只有typeof方法,ES6之后我們又多了三種方法:

  • includes():返回布爾值,表示是否找到參數(shù)字符串
  • startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。
  • endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部。
let a = 'hello leo';
a.startsWith('leo');   // false
a.endsWith('o');       // true
a.includes('lo');      // true

并且這三個方法都支持第二個參數(shù),表示起始搜索的位置。

let a = 'hello leo';
a.startsWith('leo',1);   // false
a.endsWith('o',5);       // true
a.includes('lo',6);      // false

endsWith 是針對前 n 個字符,而其他兩個是針對從第n個位置直到結(jié)束。

#3.2 repeat()

repeat方法返回一個新字符串,表示將原字符串重復n次。
基礎用法

'ab'.repeat(3);        // 'ababab'
'ab'.repeat(0);        // ''

特殊用法:

  • 參數(shù)為小數(shù),則取整
'ab'.repeat(2.3);      // 'abab'
  • 參數(shù)為負數(shù)Infinity,則報錯
'ab'.repeat(-1);       // RangeError
'ab'.repeat(Infinity); // RangeError

  • 參數(shù)為0到-1的小數(shù)NaN,則取0
'ab'.repeat(-0.5);     // ''
'ab'.repeat(NaN);      // ''
  • 參數(shù)為字符串,則轉(zhuǎn)成數(shù)字
'ab'.repeat('ab');     // ''
'ab'.repeat('3');      // 'ababab'

#3.3 padStart(),padEnd()

用于將字符串頭部尾部補全長度,padStart()頭部補全,padEnd()尾部補全。
這兩個方法接收2個參數(shù),第一個指定字符串最小長度,第二個用于補全的字符串。
基礎用法

'x'.padStart(5, 'ab');   // 'ababx'
'x'.padEnd(5, 'ab');     // 'xabab'

特殊用法:

  • 原字符串長度,大于或等于指定最小長度,則返回原字符串。
'xyzabc'.padStart(5, 'ab'); // 'xyzabc'
  • 用來補全的字符串長度和原字符串長度之和,超過指定最小長度,則截去超出部分的補全字符串。
'ab'.padStart(5,'012345'); // "012ab"
  • 省略第二個參數(shù),則用空格補全。
'x'.padStart(4);           // '    x'
'x'.padEnd(4);             // 'x    '

#3.4 模版字符串

用于拼接字符串,ES6之前:

let a = 'abc' + 
    'def' + 
    'ghi';

ES6之后:

let a = `
    abc
    def
    ghi
`

拼接變量: 在**反引號()**中使用${}`包裹變量或方法。

// ES6之前
let a = 'abc' + v1 + 'def';

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

友情鏈接更多精彩內(nèi)容