影响 replaceAll 的因素有很多,比如浏览器版本,node 版本等等,下面我就把我遇到的问题都记录下来

浏览器

在 chrome 浏览器中使用 replaceAll 报这个错误,是因为chrome 版本过低, 在 chrome 85 以上版本才支持

  1. 查看 chrome 浏览器版本:chrome://version
  2. replaceAll 支持的浏览器
  3. 使用 replace 代替
1
part = part.replace("{", "").replace("}", "");

node

replaceAll 是 JavaScript 中字符串的一个方法,它在 ECMAScript 2021 标准中引入。但请注意,它是在 Node.js 15.0.0 版本中添加的。如果你的 Node.js 版本低于 15.0.0,那么 replaceAll 方法将不可用。如果您的 Node.js 版本低于 15.0.0,并且您需要在代码中使用 replaceAll,则有几种解决方案可供选择:

  1. 升级到 Node.js 15.0.0 或更高版本以使用原生的 replaceAll 方法。
  2. 使用正则表达式的全局替换来模拟 replaceAll 的功能,例如:myString.replace(/search/g, 'replacement')
  3. 导入第三方库,如 lodashstring,它们提供了类似于 replaceAll 的功能