跳至内容

@stylistic/js/

semi-spacing

JavaScript 允许你在分号前后添加不必要的空格。

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

js
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}

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

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

这是默认选项。它强制在分号之后使用空格,并在分号之前禁止使用空格。

此规则的不正确代码示例

js
/*eslint @stylistic/js/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++) {}
incorrect

此规则的正确代码示例

js
/*eslint @stylistic/js/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();
correct

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

此选项强制在分号之前添加空格,并在分号之后禁止添加空格。

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

js
/*eslint @stylistic/js/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++) {}
incorrect

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

js
/*eslint @stylistic/js/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++) {}
correct

何时不使用它

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