跳至内容

unicorn/prefer-string-replace-all 迂腐

🛠️ 此规则可以使用自动修复功能。

它做了什么

使用带全局标志的正则表达式时,它更倾向于使用 String#replaceAll 而不是 String#replace

为什么会这样不好?

String#replaceAll 方法更快更安全,因为你不必使用正则表达式,并且在字符串不是字面意思时不必记住转义它。与正则表达式一起使用时,它让意图变得更加清晰。

示例

以下是此规则不正确的代码示例

js
array.reduceRight(reducer, initialValue);

以下是此规则正确的代码示例

js
foo.replace(/a/, bar);
foo.replaceAll(/a/, bar);

const pattern = "not-a-regexp";
foo.replace(pattern, bar);

参考

在 MIT 许可下发布。