美文网首页
3、字符串的拓展

3、字符串的拓展

作者: Daeeman | 来源:发表于2020-08-18 18:19 被阅读0次

    三、字符串的拓展

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

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

    • includes():返回布尔值,表示是否找到参数字符串
    • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部
    • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部
    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'
    
    • 参数为负数Infinity,则报错
    'ab'.repeat(-1);       // RangeError
    'ab'.repeat(Infinity); // RangeError
    
    
    • 参数为0到-1的小数NaN,则取0
    '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`
    

    相关文章

      网友评论

          本文标题:3、字符串的拓展

          本文链接:https://www.haomeiwen.com/subject/txujdktx.html