跳到內容

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 許可發布。