Skip to content
← Back to rules

eslint/no-useless-escape 正しさ

This rule is turned on by default.
An auto-fix is available for this rule.

何をするか

不要なエスケープ文字の使用を禁止します。

なぜ問題なのか

不要に文字をエスケープしても、文字列や正規表現の動作に影響はありません。 また、余計な複雑さを加えるため、コードの読みやすさや理解が難しくなる可能性があります。 このルールは文字列リテラル、テンプレートリテラル、および正規表現に適用されます。

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

javascript
"\'";
'\"';
"\#";
"\e";
`\"`;
`\"${foo}\"`;
`\#{foo}`;
/\!/;
/\@/;
/[\[]/;
/[a-z\-]/;

このルールに従った正しい例:

javascript
"\"";
'\'';
"\x12";
"\u00a9";
"\371";
"xs\u2111";
`\``;
`\${${foo}}`;
`$\{${foo}}`;
/\\/g;
/\t/g;
/\w\$\*\^\./;
/[[]/;
/[\]]/;
/[a-z-]/;

設定

このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。

allowRegexCharacters

type: string[]

default: []

正規表現内で無駄にエスケープしてもよいと許可される文字の配列です。 たとえば、["#"] に設定すると、正規表現内での \# の使用が許可されます。

この配列内の各文字列は単一の文字でなければなりません。

使用方法

構成ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "no-useless-escape": "error"
  }
}
bash
oxlint --deny no-useless-escape

参照