字符串的新增方法
1.String.fromCodePoint()
ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符。
2.String.raw()
ES6 还为原生的 String 对象,提供了一个raw()方法。该方法返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,往往用于模板字符串的处理方法。如果原字符串的斜杠已经转义,那么String.raw()会进行再次转义。
实例方法:codePointAt()
ES6 提供了codePointAt()方法,能够正确处理 4 个字节储存的字符,返回一个字符的码点。
另一种方法也可以,使用扩展运算符(…)进行展开运算。
4实例方法:normalize()
ES6 提供字符串实例的normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。
normalize方法可以接受一个参数来指定normalize的方式,参数的四个可选值如下。
5.实例方法:includes(), startsWith(), endsWith()
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
6.实例方法:repeat()
repeat方法返回一个新字符串,表示将原字符串重复n次。
参数如果是小数,会被取整。
如果repeat的参数是负数或者Infinity,会报错。
如果参数是 0 到-1 之间的小数,则等同于 0,这是因为会先进行取整运算。0 到-1 之间的小数,取整以后等于-0,repeat视同为 0。
7.实例方法:padStart(),padEnd()
padStart()用于头部补全,padEnd()用于尾部补全。
8.实例方法:trimStart(),trimEnd()
它们的行为与trim()一致,trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。
trimStart()只消除头部的空格,保留尾部的空格。trimEnd()也是类似行为。
9. 实例方法:matchAll()
matchAll()方法返回一个正则表达式在当前字符串的所有匹配,