版本

分号间距

强制分号前后空格的一致性

🔧 可修复

此规则报告的一些问题可以通过--fix 命令行选项自动修复。

此规则已在 ESLint v8.53.0 中 **弃用**。请在 @stylistic/eslint-plugin-js 中使用相应的规则。

JavaScript 允许您在分号前后放置不必要的空格。

禁止或强制分号周围的空格可以提高程序的可读性。

var a = "b" ;

var c = "d";var e = "f";

规则详情

此规则旨在强制执行分号周围的空格。此规则禁止在表达式中使用分号之前的空格。

此规则不检查以下情况下的空格

  • 如果分号是该行中的第一个标记,则分号后的空格。

  • 如果分号在开括号 (({) 之后,则分号之前的空格,或者如果分号在闭括号 ()}) 之前,则分号后的空格。该空格由space-in-parensblock-spacing 检查。

  • 在具有空条件 (for(;;)) 的 for 循环中分号周围的空格。

选项

此规则采用一个选项,一个对象,该对象有两个键beforeafter,它们具有布尔值truefalse。如果beforetrue,则强制分号之前有空格,如果为false,则禁止分号之前有空格。如果aftertrue,则强制分号之后有空格,如果为false,则禁止分号之后有空格。after 选项仅在分号不在行尾时应用。

默认值为{"before": false, "after": true}

    "semi-spacing": ["error", {"before": false, "after": true}]

{"before": false, "after": true}

这是默认选项。它强制执行分号后的空格并禁止分号前的空格。

此规则的不正确代码示例

在游乐场中打开
/*eslint semi-spacing: "error"*/

var foo ;
var foo;var bar;
throw new Error("error") ;
while (a) { break ; }
for (i = 0 ; i < 10 ; i++) {}
for (i = 0;i < 10;i++) {}

此规则的正确代码示例

在游乐场中打开
/*eslint semi-spacing: "error"*/

var foo;
var foo; var bar;
throw new Error("error");
while (a) { break; }
for (i = 0; i < 10; i++) {}
for (;;) {}
if (true) {;}
;foo();

{"before": true, "after": false}

此选项强制执行分号前的空格并禁止分号后的空格。

使用{"before": true, "after": false} 选项的此规则的不正确代码示例

在游乐场中打开
/*eslint semi-spacing: ["error", { "before": true, "after": false }]*/

var foo;
var foo ; var bar;
throw new Error("error");
while (a) { break; }
for (i = 0;i < 10;i++) {}
for (i = 0; i < 10; i++) {}

使用{"before": true, "after": false} 选项的此规则的正确代码示例

在游乐场中打开
/*eslint semi-spacing: ["error", { "before": true, "after": false }]*/

var foo ;
var foo ;var bar ;
throw new Error("error") ;
while (a) {break ;}
for (i = 0 ;i < 10 ;i++) {}

何时不使用它

如果您不关心分号前后空格的一致性,则可以关闭此规则。

版本

此规则是在 ESLint v0.16.0 中引入的。

资源

更改语言