ECMAScript 2021 (ES12) 是 JavaScript 的最新标准,其中包含了许多新特性和语法糖。本文将重点介绍字符串的扩展方法,这些方法可以提高代码的可读性和可维护性。
字符串的 trimStart() 和 trimEnd() 方法
字符串的 trim() 方法可以去除字符串前后的空格,但是在处理需要保留字符串中间空格的情况下就显得力不足了。ES12 中新增了 trimStart() 和 trimEnd() 方法,分别用于去除字符串开头和结尾的空格。示例代码如下:
const str = " hello world "; console.log(str.trimStart()); // "hello world " console.log(str.trimEnd()); // " hello world"
字符串的 matchAll() 方法
字符串的 match() 方法只能返回第一个匹配结果,无法返回所有匹配结果。ES12 中新增了 matchAll() 方法,可以返回所有匹配结果的迭代器。示例代码如下:
const str = "hello world, hello JavaScript"; const regex = /hello/g; const matches = str.matchAll(regex); for (const match of matches) { console.log(match[0]); } // "hello" // "hello"
字符串的 replaceAll() 方法
字符串的 replace() 方法只能替换第一个匹配结果,无法替换所有匹配结果。ES12 中新增了 replaceAll() 方法,可以替换所有匹配结果。示例代码如下:
const str = "hello world, hello JavaScript"; const regex = /hello/g; const replaced = str.replaceAll(regex, "hi"); console.log(replaced); // "hi world, hi JavaScript"
字符串的 padStart() 和 padEnd() 方法
字符串的 padStart() 和 padEnd() 方法可以在字符串开头和结尾添加指定数量的字符,用于补齐字符串长度。示例代码如下:
const str = "hello"; console.log(str.padStart(10, "x")); // "xxxxxhello" console.log(str.padEnd(10, "x")); // "helloxxxxx"
字符串的 fromCharCode() 方法
字符串的 fromCharCode() 方法可以将 Unicode 码点转换为字符。ES12 中新增了 fromCharCode() 方法的升级版,可以接受多个码点参数,并返回由这些码点组成的字符串。示例代码如下:
console.log(String.fromCodePoint(65, 66, 67)); // "ABC"
总结
ES12 中新增的字符串扩展方法可以大大提高代码的可读性和可维护性,特别是在处理字符串匹配和替换的情况下。使用这些方法可以让代码更加简洁、清晰和优雅。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65d4e905add4f0e0ffcc5607