String.fromCodePoint()
由于ES5提供的String.fromCharCode()方法不能返回码点大于OxFFFF的字符,所以ES6提供了String.fromCodePoint()方法,用来弥补不足。
String.raw()
作用:返回一个斜杠都被转义的字符串
用处:主要是用在模板字符串的处理上,它可以将模板字符串的变量替换为值,并将/转义
String.raw()一般不会用作函数,用作参数时,第一个参数是一个带有raw属性的对象,后面参数任意多个。
当它用作函数时的作用是将除了第一个参数外的参数插入到第一个参数的raw属性对象中。插入方法是隔一个元素插入一个。
实例方法:codePointAt()
由于JavaScrip中不支持字符以UTF-16的格式存储,所以当一个码点超过unicodeOxFFFF就会被认为是两个字符,而charAt不能正常访问,charCodeAt()只能返回前两个字节和后两个字节的值。
所以,ES6提供了codePointAt(),可以正确的处理4个字节存储的字符
注意:
- codePointAt()返回的码点是十进制的,如果想要十六进制可以使用.toString(16)。
- 想要正确输出四个码点以上的值,可以通过for..of帮助
实例方法:normalize()
normalize可以将Unicode正规化,用来将字符的不同表示方法统一为同样的的形式。
normalize的参数分别是:NFC,NFD,NFKC,NFKD主要用于控制返回值
注意:normalize方法目前不能识别三个或三个以上字符的合成。
实例方法:includes(),startsWith(),endsWith()
这三种方法都是用来判断一个字符串是否在另一个字符串中。
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
注意:三种方法都有第二个参数,但是endsWith的是指前n个字符,而其他两种方法是从第n个字符到最后一个字符
实例方法:repeat
repeat方法是返回一个新字符串,该字符串是将原字符串重复n次的结果
- 如果n是小数,会先取整
- 如果是负数或者Infinity,会报错
- 如果是0- -1之间的小数,会被认为是0
- NaN被认为是0
- 如果n是字符串,则会先转成数字。
实例方法:padStart(),padEnd()
ES2017引入了字符串补全功能,如果某个字符串不够指定长度,那么就可以实现自动补全,其中padstart是头部补全,padEnd是尾部补全
参数:
- 第一个参数是指定字符串想要达到的长度
- 第二个参数是用于补全的字符串
情况
- 如果原字符串的长度等于或大于目的长度,则补全函数不生效,返回原来的字符
- 如果原字符串加补全字符串的长度大于目的长度,则会截掉部分补全字符串。
- 省略第二个参数,则会用空格来补全长度
用处
- padstart用于补全字符位数
- 制作提示字符串,如日期。
实例方法:trimStart(),trimEnd()
trimStart()用于消除字符串首部的空格,而trimEnd()用于消除字符串尾部的空格,它们都是返回新的字符串,不会修改原始字符串。