一、字符的表示方法(以'z'为示例)
1、'z'==='z' //true
2、'\z' === 'z' // true
3、'\172' === 'z' // true
4、'\x7A' === 'z' // true
5、'\u007A' === 'z' // true
6、'\u{7A}' === 'z' // true
二、字符串的遍历器接口
1、for...of
2、可以识别大于
0xFFFF
的码点 三、str.at(index)
1、功能同str.charAt(index)
2、可以识别Unicode编号大于
0xFFFF
的字符 四、查找子字符串
1、includes():返回布尔值,表示是否找到了参数字符串。
2、startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
3、endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
五、克隆字符串
1、.repeat(n); //返回一个新字符串,表示将原字符串重复n次。
六、字符串补全功能(ES7提案,es6不能用)
1、padStart(minNum,str);
2、padEnd(minNum,str);]
3、常见用途:数值补全指定位数 提示字符串格式
(如:'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12" '09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12")
七、模板字符串
1、模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,
也可以用来定义多行字符串,或者在字符串中嵌入变量。
2、如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。
3、如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
4、模板字符串中嵌入变量,需要将变量名写在${}之中。
5、大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
6、模板字符串之中还能调用函数。
八、标签模板
1、“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数
2、如:tag`...`;function tag(s,arg1,args2....){...}; //s是一个保存不变字符串的数组 arg1,args2...分别为引用的
js变量或者函数
3、常见用途:过滤字符串(防止用户恶意输入),多语言转换,嵌入其他语言
九、String.raw
1、String.raw方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜
杠) 的字符串,对应于替换变量后的模板字符串。
如:String.raw`Hi\n${2+3}!`; // "Hi\\n5!"
String.raw`Hi\u000A!`; //'Hi\\u000A!'