二 字符串和正则表达式

246 阅读1分钟

字符串的新增方法:

  • 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()标签可以访问到字符转义前的原生字符串。