ES6中字符串的新增方法梳理

时间:2025-01-17 11:35:20

1.String.fromCodePoint();

String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Unicode码点返回对应字符,但是差异在于String.fromCharCode()该方法不能识别大于0xFFFF的码点,ES6中提供了String.fromCodePoint()就很好的弥补了String.fromCharCode()的不足。它可以识别码点大于0xFFFF的对应字符。

ES6中字符串的新增方法梳理

上面是在chrome控制台打印的结果,很明显String.fromCodePoint()中的方法可以正确的识别‘0x20BB7“的字符,而String.fromCharCode()会舍弃掉掉溢出的高位2变成解析‘0x0BB7’unicode码点。

2.String.raw();

ES6 还为原生的 String 对象,提供了一个raw()方法。该方法返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,往往用于模板字符串的处理方法。

ES6中字符串的新增方法梳理

如果是作为方法的话第一个参数是对象 而且要有raw参数,如果没有会报错,因为该方法可以看作是专门的模板字符串的标签函数,它的第一个参数是具有raw属性的对象。

ES6中字符串的新增方法梳理

3.codePointAt();

ES6提供了该方法可以认为是对charCodeAt()方法的补充。在javascript中,字符是以UTF-16的格式存储的,每个字符固定为两个字节,如果是用四个字节存储的字符javascript就会认为它的长度为2.

ES6中字符串的新增方法梳理

以上可以看出