字符串的扩展
1.字符的Unicode表示法
js允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的Unicode码点
但是这种表示方法只限于\u0000~\uFFFF之间的字符,超出这个范围的字符,必须用2个双字节的形式表达
js共有六种方法表示一个字符
1 "z"==="z" ; 2 "172"==="z" ; 3 "x7A"==="z" ; 4 "u007A"==="z" ; 5 "u{7A}"==="z" ;
2.在js内部,字符以UTF-16的格式存储,每个字符固定为2个字节。对于那些需要四个字节存储的字符(码点大于0xFFFF的字符),js认为他们是2个字符
从字符串某个位置返回对应的Unicode码点
原版:string.charCodeAt(index)只能处理 2 字节的字符
升级版:string.codePointAt(index)可以处理 4 字节的字符
for循环无法正确识别4个字节的字符所在的正确位置,可以用for...of循环来代替
给定一个Unicode码点,返回对应的字符串对象
原版:String.from.Char.Code(Unicode码点) 识别2个字节的字符
升级版:String.fromCodePoint(Unicode码点) 可以识别 4 个字节的字符
返回字符串给定位置的字符
原版:string.charAt(index)
升级版:string.At(index)
normalize()用来将字符的不同表示方法,统一为同样的形式
字符串查找方法
string.includes(string,index)从某个位置开始查找查找是否有对应的字符串
string.startsWith(string,index)是否在某个位置开始的字符串
string.endsWith(string.index)是否在某个位置结束的字符串
字符串重复方法
string.repeat(numer)返回一个新的字符串,将原字符串重复n次
字符串补全长度方法
string.padStart(number,string)指定字符串长度,不够的用参数字符串从开头补全
string.padEnd(number,string)指定字符串长度,不够的用参数字符串从结尾补全
用途:补全指定位数,提示字符串格式
模板字符串
用反引号标识,可以当做普通字符串,多行字符串,可在字符串中嵌入变量用${variable},里面也可以放js表达式,模板里用了反引号需要在前面加上\进行转译
标签模板
标签模板不是模板,而是函数的一种调用方式,标签指的是函数,模板字符串是参数
模板字符串中不是变量的字符串当做数组的一部分