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中字符串的新增方法梳理的主要内容,如果未能解决你的问题,请参考以下文章

ES6字符串对象的新增11种实例方法必知

ES6 第四章 字符串的新增方法

ES6 第四章 字符串的新增方法

ES6学习—字符串的新增方法

ES6新增方法

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