ES6 带来了许多新的特性和增强,其中字符串和正则表达式得到了一些显著的改进。本文将介绍 ES6 中的字符串和正则表达式的增强,并通过实例介绍它们的用法。
字符串增强
ES6 中为字符串提供了一些增强,包括模板字符串、字符串的迭代器和新的方法。
模板字符串
模板字符串是一种新的字符串语法,允许我们在字符串中插入变量和表达式。使用反引号 (``) 包裹字符串,用 ${}
来插入变量和表达式。
示例代码:
const name = "Bob"; const message = `Hello, ${name}!`; console.log(message); // 输出: Hello, Bob!
字符串的迭代器
ES6 为字符串增加了迭代器接口,使得字符串能够被 for...of 循环遍历。这个迭代器返回一组表示字符串中每个字符的 Unicode 编码。
示例代码:
const str = "hello"; for (const char of str) { console.log(char); // 输出: h e l l o }
新的方法
ES6 增加了一些新的字符串方法,包括 startsWith()、endsWith()、includes() 和 repeat()。
- startsWith():判断字符串是否以指定字符串开头,返回布尔值。
- endsWith():判断字符串是否以指定字符串结尾,返回布尔值。
- includes():判断字符串是否包含指定字符串,返回布尔值。
- repeat():返回一个由原字符串重复 n 次组成的新字符串。
示例代码:
const str = "hello world"; console.log(str.startsWith("hello")); // true console.log(str.endsWith("world")); // true console.log(str.includes("lo w")); // true console.log(str.repeat(3)); // hello worldhello worldhello world
正则表达式实战
正则表达式是一种强大的字符串匹配工具,ES6 为其提供了一些增强,包括正则表达式的 Unicode 支持和新的修饰符。
Unicode 支持
ES6 为正则表达式增加了对 Unicode 的支持,使其能够匹配更多语言的字符。在正则表达式中使用 \u
后跟 4 个十六进制数字来表示 Unicode 字符。
示例代码:
const str = "😊Hello世界"; const reg = /\u{1F60A}/u; console.log(reg.test(str)); // true
新的修饰符
ES6 为正则表达式增加了新的修饰符 y 和 u。
- y 修饰符:全局匹配,从上一次匹配的下一个位置开始查找,只匹配字符串中所有的匹配项。
- u 修饰符:处理 Unicode 字符,使用它后可以正确处理这些字符。
示例代码:
const str = "hello world"; const reg = /o/y; console.log(reg.exec(str)); // 输出: o console.log(reg.exec(str)); // 输出: null,因为没有从前一个位置匹配到 o
结论
ES6 为字符串和正则表达式提供了一些增强,包括模板字符串、字符串的迭代器和新的方法,以及 Unicode 支持和新的修饰符。它们的用法可以让我们更方便地处理字符串和匹配模式,提升开发效率和质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6732ef340bc820c5823f977b