ES6之字符串新增的方法
String.fromCodePoint()
用于返回Unicode编码对应的字符,
同ES5中String.fromCharCode()作用相同,
区别在于,fromCodePoint()可以识别大于0xFFFF的字符,但
fromCharCode()
不行
使用:
传递一个多个参数进去,若为多个参数则将其每个参数转化为对应字符并拼接成为一个字符串
String.fromCodePoint(0x20BB7);
// "𠮷"
String.fromCodePoint(0x78, 0x1f680, 0x79);//
String.raw()
返回一个斜杠都被转义,即在(‘\’)后面添加(‘\’),常用于模板字符串的使用
String.raw`123\n!`;//"123\\n"
String.raw`123\\n` ;//"Hi\\\\n"
以下开始为实例方法
codePointAt()
js中字符通常用UTF-16存储,共2个字节,
但对于Unicode 大于
0xFFFF
的字符(4个字节),
若需要处理,则需要使用codePointAt()
var s = "𠮷"; s.length // 2,由于s字符的编码超过0xFFFF,所以length被读取为2个字符长度 s.charAt(0) // ''由于charAt()不能处理4个字节的字符,所以分别读出来的两个字节都为空 s.charAt(1) // '' s.charCodeAt(0) // 55362,能够处理4字节的字符,处理结果为10进制的编码 s.charCodeAt(1) // 57271
includes()
两个参数,第一个参数为查找的字符串,第二个为可选参数(数值),代表查找的起始位置
用来判断字符串中是否存在参数字符串,返回值为布尔值,代表是否能够找到
str.includes("hello",1);//由于第二个参数代表查找的起始位置,且起始位置为第二个字符开始,因此结果返回为false
startsWith()
两个参数,第一个参数为查找的字符串,第二个为可选参数(数值),代表查找的起始位置
用来判断字符串的头部中是否为参数字符串,返回值为布尔值,代表是否能够找到
endsWith()
两个参数,第一个参数为查找的字符串,第二个为可选参数(数值),代表查找的起始位置
用来判断字符串的尾部中是否为参数字符串,返回值为布尔值,代表是否能够找到
repeat()
参数为数值类型,用于将原字符串重复n次,返回一个新的字符串
若参数为小数点,则会直接取整,忽略小数点
参数字符必须为0或确定的正值,若为负数或者正负无穷大,则会报错
但若负数范围为-1到0之间,则会默认为0,不会报错
若参数为字符串,则将其转为为数值,若能成功转化,则参数为转化的数值,若无法转化,则参数为0,
注意若参数为NaN,则表示为0,不会报错
padStart()
两个参数,第一个参数(数值类型),达标规定的原字符串长度
第二个参数为字符串,代表长度不够时填充的字符串
字符串补全。若字符串长度不到指定的长度,则将填充的字符补全在字符串头部
var str = "aa" str.padStart(6,"xy")//"xyxyaa" str.padStart(3,"xy")//"xaa" === 若填充的字符串的长度超过需要填充的长度,则截取一部分填充 str.padStart(2,"xy")//"aa" === 若规定的字符串长度小于或者等于原字符串。则直接返回原字符串 str.padStart(1,"xy")//"aa" str.padStart(5)//" aa" === 这里有三个空格。若只传一个参数。则填充的字符为空格
padEnd()
字符串补全。若字符串长度不到指定的长度,则将填充的字符补全在字符串尾部,
功能同上,就是补全的位置不同(太懒了,就不重复写了ヽ(ー_ー)ノ)
trimStart()
清除字符串中头部的空格(包括空格键,tab键以及其换行等不可见的空白符号),返回结果为新字符串,不改变原字符串
var str =" abc " str.trimStart();//"abc "
trimEnd()
清除字符串中前面的空格(包括空格键,tab键以及其换行等不可见的空白符号),返回结果为新字符串,不改变原字符串
功能同上,只是清除空格位置不同而已。
最后:本资源学习记录来源于:https://es6.ruanyifeng.com/#docs/string-methods