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);