随着前端技术的发展,越来越多的新特性被加入到 ECMAScript 标准中。ES11(也称为 ES2020)是 ECMAScript 的最新版本,于 2020 年 6 月发布。ES11 中引入了许多有用的新功能,其中包括字符串匹配和数字格式化等。本文将详细介绍这些新功能,并提供示例代码。
字符串匹配
ES11 引入了一组用于字符串匹配和替换的新方法。这些方法基于正则表达式,并提供了更简单和更高效的替换方式。
String.matchAll()
ES11 引入了 String.matchAll()
方法,用于查找字符串中所有匹配指定正则表达式的子字符串。该方法返回一个迭代器,可以使用 for...of
循环来遍历所有匹配项。
下面是一个简单的示例:
const str = 'Hello World!'; const regex = /[a-zA-Z]/gi; const matches = str.matchAll(regex); for (const match of matches) { console.log(match); }
该示例将会输出:
-- -------------------- ---- ------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ -- ------ ------ -------- ------- ---------- ----- ------ --- ------ ------ -------- ------- ----------
String.replaceAll()
ES11 还引入了 String.replaceAll()
方法,用于将所有匹配指定正则表达式的子字符串替换为指定的新字符串。该方法可以更方便地替换字符串中的所有匹配项,而无需循环或使用 replace()
的回调函数。
下面是一个使用示例:
const str = 'Hello World!'; const regex = /o/g; const newStr = str.replaceAll(regex, '0'); console.log(newStr);
该示例将会输出:
Hell0 W0rld!
数字格式化
ES11 引入了一组新的数字格式化选项,可帮助开发人员更容易地格式化数字。现在,我们可以使用 Intl.NumberFormat
类来格式化数字,以展示货币符号、小数点、百分比和分组分隔符等。
简单的数字格式化
可以使用 Intl.NumberFormat
类来输出数字,例如:
const number = 123456.789; console.log(new Intl.NumberFormat().format(number));
这将输出:
123,456.789
就是说,你可以创建一个实例对象,并传入要显示的选项。
货币格式化
可以使用 Intl.NumberFormat
类的 style
选项来格式化成货币格式:
const price = 9999.99; console.log(new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(price));
这将输出:
$9,999.99
百分比格式化
可以使用 Intl.NumberFormat
类的 style
选项来将数字格式化为百分比:
const percentage = 0.84; console.log(new Intl.NumberFormat('en-US', { style: 'percent' }).format(percentage));
这将输出:
84%
结论
ES11 中引入了许多新的功能,其中包括字符串匹配和数字格式化等。这些新功能提高了开发人员的效率,同时还可以让代码更易于阅读和维护。我们鼓励开发人员尝试使用这些新功能,以提高 JavaScript 代码的质量和效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6717534dad1e889fe220ee6a