ES6中字符串的新增方法梳理
Posted lin494910940
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中字符串的新增方法梳理相关的知识,希望对你有一定的参考价值。
1.String.fromCodePoint();
String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Unicode码点返回对应字符,但是差异在于String.fromCharCode()该方法不能识别大于0xFFFF的码点,ES6中提供了String.fromCodePoint()就很好的弥补了String.fromCharCode()的不足。它可以识别码点大于0xFFFF的对应字符。
上面是在chrome控制台打印的结果,很明显String.fromCodePoint()中的方法可以正确的识别‘0x20BB7“的字符,而String.fromCharCode()会舍弃掉掉溢出的高位2变成解析‘0x0BB7’unicode码点。
2.String.raw();
ES6 还为原生的 String 对象,提供了一个raw()
方法。该方法返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,往往用于模板字符串的处理方法。
如果是作为方法的话第一个参数是对象 而且要有raw参数,如果没有会报错,因为该方法可以看作是专门的模板字符串的标签函数,它的第一个参数是具有raw属性的对象。
3.codePointAt();
ES6提供了该方法可以认为是对charCodeAt()方法的补充。在javascript中,字符是以UTF-16的格式存储的,每个字符固定为两个字节,如果是用四个字节存储的字符javascript就会认为它的长度为2.
以上可以看出??字的unicode编码大于0xffff所以长度为2,codePointAt()方法和charCodeAt()方法都是可以返回字符的十进制码点,codePointAt()方法可以返回32位的UTF-16字符的码点。charCodeAt()方法只能返回16位的。
4.includes()
返回布尔值,表示是否找到了参数字符串。
5.startWith()
返回布尔值,表示参数字符串是否在原字符串的头部。
6.endsWith()
返回布尔值,表示参数字符串是否在原字符串的尾部。
7.repeat()
repeat
方法返回一个新字符串,表示将原字符串重复n
次。该方法的参数为大于 -1的自然数,
参数n带有小数的时候 会向下取整,如果参数为字符串会先转为数字,但n为-1到0之前的数字的时候会转为0。
8.padStart()
如果某个字符串不够指定长度,会在头部补全。
9.padEnd()
如果某个字符串不够指定长度,会在尾部补全。
10.trimStart()和trimEnd()
以上两个方法的行为和trim()方法的行为一致都是用户消除字符串的空格,会返回新的字符不影响原来的字符,trimStart()方法是消除字符串头部的空格,trimEnd()方法是用于消除字符串尾部的空格。
11.matchAll()
matchAll()
方法返回一个正则表达式在当前字符串的所有匹配,返回的匹配是一个遍历器(Iterator),而不是数组。。
以上是关于ES6中字符串的新增方法梳理的主要内容,如果未能解决你的问题,请参考以下文章