字符串的新增方法:
- codePointAt():类似charCodeAt(),只不过第一个位置为完整的32为码。
- String.fromCodePoint():支持2个编码单元,完整版的String.fromCharCode()。
- normalize():转化成同一种标准形式。一般在比较两个字符串前操作。
- include()/startWith()/endWith():第一个参数为要搜索的文本,第二个参数开始搜索位置的索引值。如果包含/第一个是/最后一个是,则返回true。endWith()的第二个参数,是位置索引值减去欲搜索的文本长度的正向匹配。
- repeat():接受一个数字,返回字符串重复这个次数的新字符串。
正则表达式的变更:
- u修饰符:会从编码单元操作模式转化为字符模式。
- y修饰符:
等学了正则表达式再来写
模板字面量
用反撇号替换单双引号。
在模板字面量中,单双引号不需要转义,但反撇号要转义。
简化多行字符串
length换行后会多一位。并且对于空白也算。
let str=`nihao`;console.log(str);console.log(str.length);//6当然也可以显式的用\n换行
字符串占位符
可以把任何合法的表达式放入嵌入到占位符中,用${},也可嵌入占位符。嵌入未定义的变量会抛出错误。
标签模板
let message=tag`"hello world`;这里tag为标签。标签也可以是函数,则参数为:
function tag(literals,...substitutions){
}literals为字符串数组,substitutions为每个占位符组成的,类似arguments少literals
原生String.raw()标签可以访问到字符转义前的原生字符串。