ES6中新增的字符串方法

Posted weimingmei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中新增的字符串方法相关的知识,希望对你有一定的参考价值。

    • String.raw`Hi\\n`
      // 返回 "Hi\\\\n"
      
      String.raw`Hi\\n` === "Hi\\\\n" // true

       

  codePointAt()

    • codePointAt()方法会正确返回 32 位的 UTF-16 字符的码点(十进制值),码点的十进制值,如果想要十六进制的值,可以使用toString()方法转换一下。
    • Tip:使用for...of循环
    • codePointAt()方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。代码如下:
    • function is32Bit(c) 
        return c.codePointAt(0) > 0xFFFF;
      
      
      is32Bit("??") // true
      is32Bit("a") // false

       

  4.实例方法:

 

  normalize()

    • 用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。  

 

    5.实例方法:

  includes(), startsWith(), endsWith()

      • includes():返回布尔值,表示是否找到了参数字符串。
      • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
      • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

      注意:使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束

        

 

  repeat()

    • 返回一个新字符串,表示将原字符串重复n次。
    • ‘x‘.repeat(3) // "xxx"
      ‘hello‘.repeat(2) // "hellohello"
      ‘na‘.repeat(0) // ""

       

    • 参数如果是小数,会被取整。

      ‘na‘.repeat(2.9) // "nana"

       

    • 如果repeat的参数是负数或者Infinity,会报错。

       
      ‘na‘.repeat(Infinity)        // RangeError
      ‘na‘.repeat(-1)            // RangeError        

       

    • 但是,如果参数是 0 到-1 之间的小数,则等同于 0,这是因为会先进行取整运算。0 到-1 之间的小数,取整以后等于-0repeat视同为 0。
    • ‘na‘.repeat(-0.9) // ""

       

    • 参数NaN等同于 0

      ‘na‘.repeat(NaN) // ""

       

    • 如果repeat的参数是字符串,则会先转换成数字。

       
      ‘na‘.repeat(‘na‘) // ""
      ‘na‘.repeat(‘3‘) // "nanana"

       

 

  padStart(),padEnd()

    • padStart()用于头部补全
    • padEnd()用于尾部补全。
      • padStart()padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。

 

  trimStart(),trimEnd()

    • trimStart()消除字符串头部的空格trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。    

 

  matchAll()

    • 方法返回一个正则表达式在当前字符串的所有匹配    

 

以上是关于ES6中新增的字符串方法的主要内容,如果未能解决你的问题,请参考以下文章

es6中新增的常用数值扩展

ES6中新增的 is ,has,assign方法

ES6中新增的 is ,has,assign方法

带你学习ES5中新增的方法

javascript es6新增语法之`${}`

以下关于array的方法,哪个属于es6新增的