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

参考资料