1. 模板字符串
    2. includes():返回布尔值,表示是否找到了参数的字符串 ```javascript let s = ‘Hello world!’;

    s.startsWith(‘Hello’) // true s.endsWith(‘!’) // true s.includes(‘o’) // true

    1. 3. startsWith():返回布尔值,表示参数字符串是否在原字符串的头部
    2. 3. endWith():返回布尔值,表示参数字符串是否在原字符串的尾部(可以传第二个参数,表示从第几个字符开始查找,startwith同样)
    3. ```javascript
    4. let s = 'Hello world!';
    5. s.startsWith('world', 6) // true
    6. s.endsWith('Hello', 5) // true
    7. s.includes('Hello', 6) // false
    1. repeat():返回一个新字符串,表示将原字符重复n次

      'x'.repeat(3) // "xxx"
      'hello'.repeat(2) // "hellohello"
      'na'.repeat(0) // ""
      

      参数如果是小数,会被去整

      'na'.repeat(2.9) // "nana"
      
    2. padStart(),padEnd():前者用于头部补全,后者尾部补全(padStart()和padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。) ```javascript ‘x’.padStart(5, ‘ab’) // ‘ababx’ ‘x’.padStart(4, ‘ab’) // ‘abax’

    ‘x’.padEnd(5, ‘ab’) // ‘xabab’ ‘x’.padEnd(4, ‘ab’) // ‘xaba’

    
    7. trimStart(),trimEnd() :前者消除头部的空格,后者消除尾部空格
    ```javascript
    const s = '  abc  ';
    
    s.trim() // "abc"
    s.trimStart() // "abc  "
    s.trimEnd() // "  abc"
    

    8.replaceAll():一次性替换所有匹配,相对于replace只能替换一次方便很多

    'aabbcc'.replaceAll('b', '_')
    // 'aa__cc'