3、字符串的拓展

2020-08-18  本文已影响0人  Daeeman

三、字符串的拓展

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

在我们判断字符串是否包含另一个字符串时,ES6之前,我们只有typeof方法,ES6之后我们又多了三种方法:

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

并且这三个方法都支持第二个参数,表示起始搜索的位置。

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

endsWith 是针对前 n 个字符,而其他两个是针对从第n个位置直到结束。

#3.2 repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次。
基础用法

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

特殊用法:

'ab'.repeat(2.3);      // 'abab'
'ab'.repeat(-1);       // RangeError
'ab'.repeat(Infinity); // RangeError

'ab'.repeat(-0.5);     // ''
'ab'.repeat(NaN);      // ''
'ab'.repeat('ab');     // ''
'ab'.repeat('3');      // 'ababab'

#3.3 padStart(),padEnd()

用于将字符串头部尾部补全长度,padStart()头部补全padEnd()尾部补全
这两个方法接收2个参数,第一个指定字符串最小长度,第二个用于补全的字符串
基础用法

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

特殊用法:

'xyzabc'.padStart(5, 'ab'); // 'xyzabc'
'ab'.padStart(5,'012345'); // "012ab"
'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`
上一篇 下一篇

猜你喜欢

热点阅读