ECMAScript 2020(也称为 ES11)是 JavaScript 语言的最新版本,其中包含了一些新的 String 方法,这些方法可以帮助开发人员更方便地处理字符串。本文将介绍这些新的 String 方法,并提供详细的使用例子。
1. String.prototype.matchAll()
String.prototype.matchAll()
方法返回一个迭代器,该迭代器包含所有与正则表达式匹配的字符串及其捕获组。这个方法是 String.prototype.match()
方法的改进版,它可以一次性匹配多个字符串。
使用示例:
const str = 'Hello World!'; const regex = /[aeiou]/g; const matches = str.matchAll(regex); for (const match of matches) { console.log(match); }
输出:
["e", index: 1, input: "Hello World!", groups: undefined] ["o", index: 4, input: "Hello World!", groups: undefined] ["o", index: 7, input: "Hello World!", groups: undefined]
2. String.prototype.trimStart()
和 String.prototype.trimEnd()
String.prototype.trimStart()
方法返回去掉字符串开头空格的新字符串,String.prototype.trimEnd()
方法返回去掉字符串结尾空格的新字符串。这两个方法是 String.prototype.trim()
方法的改进版,可以精确地控制哪些空格应该被去掉。
使用示例:
const str = ' Hello World! '; console.log(str.trimStart()); // 'Hello World! ' console.log(str.trimEnd()); // ' Hello World!'
3. String.prototype.replaceAll()
String.prototype.replaceAll()
方法返回一个新的字符串,其中所有匹配的子字符串都被替换为指定的新字符串。这个方法是 String.prototype.replace()
方法的改进版,它可以替换所有匹配的字符串,而不仅仅是第一个。
使用示例:
const str = 'Hello World!'; console.log(str.replaceAll('o', 'x')); // 'Hellx Wxrld!'
4. String.prototype.match()
String.prototype.match()
方法返回一个数组,其中包含正则表达式与字符串匹配的部分。如果正则表达式包含捕获组,则返回的数组还包含这些捕获组的值。
使用示例:
const str = 'Hello World!'; const regex = /o/g; console.log(str.match(regex)); // ['o', 'o']
5. String.prototype.startsWith()
和 String.prototype.endsWith()
String.prototype.startsWith()
方法检查字符串是否以指定的字符开头,String.prototype.endsWith()
方法检查字符串是否以指定的字符结尾。这两个方法可以用于判断一个字符串是否以特定的前缀或后缀开头或结尾。
使用示例:
const str = 'Hello World!'; console.log(str.startsWith('Hello')); // true console.log(str.endsWith('World!')); // true
6. String.prototype.codePoints()
String.prototype.codePoints()
方法返回一个迭代器,该迭代器包含字符串中每个字符的 Unicode 码点。这个方法可以用于处理一些特殊字符,例如 Emoji 表情符号。
使用示例:
const str = '👍🏻 Hello World!'; const codePoints = str.codePoints(); for (const codePoint of codePoints) { console.log(codePoint); }
输出:
-- -------------------- ---- ------- ------ ------ -- -- --- --- --- --- -- -- --- --- --- --- --
结论
ECMAScript 2020 中的新的 String 方法使开发人员更容易地处理字符串,并提供了更多的控制和灵活性。这些方法可以帮助开发人员更高效地编写代码,同时也可以提高代码的可读性和维护性。如果你是一名前端开发人员,那么学习这些新的 String 方法将会对你的工作非常有帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/673c31df7088281697c6a967