分号间距
强制执行分号前后的一致间距
此规则报告的一些问题可以通过--fix
命令行选项自动修复。
此规则在 ESLint v8.53.0 中已**弃用**。请使用 对应的规则 在 @stylistic/eslint-plugin-js
中。
JavaScript 允许您在分号之前或之后放置不必要的空格。
禁止或强制执行分号周围的空格可以提高程序的可读性。
var a = "b" ;
var c = "d";var e = "f";
规则详细信息
此规则旨在强制执行分号周围的空格。此规则阻止在表达式中使用分号之前的空格。
此规则不会检查以下情况下的空格
-
如果分号是该行中的第一个标记,则分号后的空格。
-
如果分号在左括号 (
(
或{
) 之后,则分号之前的空格,或者如果分号在右括号 ()
或}
) 之前,则分号后的空格。该空格由space-in-parens
或block-spacing
检查。 -
在具有空条件 (
for(;;)
) 的 for 循环中分号周围的空格。
选项
该规则采用一个选项,一个对象,该对象有两个键before
和after
,它们具有布尔值true
或false
。如果before
为true
,则在分号之前强制执行空格,如果为false
,则禁止在分号之前使用空格。如果after
为true
,则在分号之后强制执行空格,如果为false
,则禁止在分号之后使用空格。after
选项仅在分号不在行尾时应用。
默认值为{"before": false, "after": true}
。
"semi-spacing": ["error", {"before": false, "after": true}]
{"before": false, "after": true}
这是默认选项。它强制执行分号后的空格,并禁止分号前的空格。
此规则的错误代码示例
/*eslint semi-spacing: "error"*/
var foo;
var foovar 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 中引入。