Skip to content
← Back to rules

unicorn/prefer-string-replace-all 細部まで気を使う

🛠️ An auto-fix is available for this rule.

何をしますか?

正規表現にグローバルフラグ(g)を使用している場合、String#replaceAll()String#replace() の代わりに推奨します。

なぜ問題なのでしょうか?

String#replaceAll() メソッドは、正規表現を使用する必要がなく、文字列がリテラルでない場合にエスケープを忘れる心配もありません。そのため、より高速かつ安全です。また、正規表現と一緒に使用した場合、意図がより明確になります。

このルールに違反する誤りの例

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

このルールに準拠する正しい例

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

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

使い方

設定ファイルまたは CLI でこのルールを有効化するには、以下の方法を使います。

json
{
  "rules": {
    "unicorn/prefer-string-replace-all": "error"
  }
}
bash
oxlint --deny unicorn/prefer-string-replace-all

参照