1.字符串的拓展
ES3允许使用类似\u0061这样的形式来表示字符,其中的数字是Unicode-8编码。
但如果超出\uffff的字符,必须使用双字节的形式表达,例如 \uD842\uDFB7。
在ES6中,可以用\u{20BB7}这种形式表示,其中数字是Unicode-16编码。
对于需要Unicode-16编码存储的字符,ES认为有2个字符。此时使用String.codePoinAt()方法,可以准确的识别字符串中的字符,如果需要遍历,则需要使用for...of循环。
与此相对,String.charAt方法则不能正确识别。
String.include()方法返回是否包含参数字符串,而startsWith()和endsWith()方法可以判断参数字符串是否处于源字符串的头尾部。
String.repeat()方法可以返回字符串n次。
ES6提供了模板字符串,并提供了String.raw()方法处理模板字符串。
const name = "Ann"; const age = 19; console.log(`I‘m ${name},${age} years old!`); //I‘m Ann,19 years old! //raw()方法返回一个编译模板字符串后的,反斜线被转义的字符串。 let str = raw`I‘m ${name}\`; console.log(str); //I‘m Ann\\
2.正则表达式拓展
RegExp函数在ES6中可以接受正则表达式作为参数,返回一个参数本身。
String对象可以有match()、replace()、search()、split()方法可以接受正则表达式。
正则表达式匹配了字符串中的新Unicode表示法,并添加了y修饰符和对应的sticky属性表示是否设置了y修饰符,flags属性返回所有修饰符。
y修饰符从上次搜索的末尾开始。
时间: 2024-10-22 07:27:21