# semi-spacing

在分号前后强制保持一致的间距

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

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

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

var a = "b" ;

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

# 规则详情

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

在以下情况下,此规则不检查间距:

  • 分号后的间距(如果它是行中的第一个标记)。

  • 如果分号在左括号(( 或 {)之后,则为分号之前的空格,如果在右括号() 或 })之前,则为分号之后的空格。该间距由 space-in-parens 或 block-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++) {}

# 何时不使用

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

Last Updated: 5/13/2023, 8:55:38 PM