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