ES6字符串和正则表达式改动
Posted aizzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6字符串和正则表达式改动相关的知识,希望对你有一定的参考价值。
1. ES6字符串变更
(1)includes() 方法,如果在字符串中检测到指定文本返回true,否则返回false
(2)startsWith()方法,如果在字符串的起始部分检测到文本,则返回true,否则返回false
(3)endsWith()方法,如果在字符串的结束部分检测到文本,则返回true,否则返回false
以上方法都接收两个参数,一个是要检测的文本,第二个参数是可选的,也即检索开始的位置,在第三个方法中,从字符串长度减去这个索引值的位置开始匹配
(4)repeat()方法,接收一个number类型参数,表示该字符串重复次数
"x".repeat(3) // ‘xxx‘ " ".repeat(4) // 4个空格 控制缩进
codePointAt(),String.fromCodePoint() ,normalize() 标准化 针对32位编码单元的方法
2. 正则表达式
(1) u修饰符 从编码单元模式切换为字符模式, 不会把32位编码单元(代理对)视为两个字符
(2) y修饰符 在字符串开始匹配字符时,通知搜索从正则表达式的lastIndex属性开始进行,如果在指定位置没能匹配成功,则停止匹配
只有调用exec() 和 text() 这些正则表达式对象的方法才会有lastIndex 属性, 调用字符串的方法(match) 不会触发粘滞行为
(3)正则表达式的复制
ES5中, var re1 = /ab/i,
re2 = new RegExp(re1);
re2是re1的一份拷贝
re2 = new RegExp(re1,‘g‘); // 在ES5中抛出错误,在ES6中正常运行
(4)flags 属性
ES5中可以通过source属性获取正则表达式的文本,ES6中新增flags属性来获取修饰符
let re = /ab/g;
re.source // "ab"
re.flags // "g"
getFlags(re) // "g"
以上是关于ES6字符串和正则表达式改动的主要内容,如果未能解决你的问题,请参考以下文章