版本

no-empty

禁用空代码块语句

推荐

配置文件中使用来自 @eslint/jsrecommended 配置启用此规则

💡 有建议

此规则报告的一些问题可以通过编辑器建议手动修复

空代码块语句虽然在技术上不是错误,但通常是由于未完成的重构而发生的。它们可能会在阅读代码时引起混淆。

规则详情

此规则禁用空代码块语句。此规则忽略包含注释的代码块语句(例如,在 try 语句的空 catchfinally 块中,以指示执行应继续,无论是否发生错误)。

此规则的错误代码示例

在代码演练场中打开
/*eslint no-empty: "error"*/

if (foo) {
}

while (foo) {
}

switch(foo) {
}

try {
    doSomething();
} catch(ex) {

} finally {

}

此规则的正确代码示例

在代码演练场中打开
/*eslint no-empty: "error"*/

if (foo) {
    // empty
}

while (foo) {
    /* empty */
}

try {
    doSomething();
} catch (ex) {
    // continue regardless of error
}

try {
    doSomething();
} finally {
    /* continue regardless of error */
}

选项

此规则有一个用于例外的对象选项

  • "allowEmptyCatch": true 允许空的 catch 子句(即,不包含注释的子句)

allowEmptyCatch

使用 { "allowEmptyCatch": true } 选项时此规则的附加正确代码示例

在代码演练场中打开
/* eslint no-empty: ["error", { "allowEmptyCatch": true }] */
try {
    doSomething();
} catch (ex) {}

try {
    doSomething();
}
catch (ex) {}
finally {
    /* continue regardless of error */
}

何时不使用

如果您有意使用空代码块语句,则可以禁用此规则。

版本

此规则在 ESLint v0.0.2 中引入。

资源

更改语言