
comma-spacing
強制在逗號之前和之後使用一致的間距
🔧 可自動修正
此規則回報的某些問題可以使用 --fix
命令列選項自動修正
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中對應的 規則。
逗號周圍的間距可以提高項目列表的可讀性。雖然大多數語言的樣式指南都規定在逗號後添加空格,而不是在逗號前添加空格,但這取決於專案的偏好。
var foo = 1, bar = 2;
var foo = 1 ,bar = 2;
規則詳情
此規則強制在變數宣告、陣列字面值、物件字面值、函式參數和序列中,逗號之前和之後使用一致的間距。
此規則不適用於以下兩種情況
- 兩個逗號之間
- 左方括號
[
和逗號之間,以避免與array-bracket-spacing
規則衝突 - 逗號和右方括號
]
之間,以避免與array-bracket-spacing
規則衝突 - 逗號和右大括號
}
之間,以避免與object-curly-spacing
規則衝突 - 逗號和右括號
)
之間,以避免與space-in-parens
規則衝突
選項
此規則有一個物件選項
"before": false
(預設)禁止在逗號之前使用空格"before": true
要求在逗號之前使用一個或多個空格"after": true
(預設)要求在逗號之後使用一個或多個空格"after": false
禁止在逗號之後使用空格
after
對於此規則,使用預設選項 { "before": false, "after": true }
的錯誤程式碼範例
在線上練習中開啟
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1 bar = 2;
var arr = [1 2];
var obj = {"foo": "bar" "baz": "qur"};
foo(a b);
new Foo(a b);
function baz(a b){}
a b
對於此規則,使用預設選項 { "before": false, "after": true }
的正確程式碼範例
在線上練習中開啟
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1, bar = 2
, baz = 3;
var arr = [1, 2];
var arr = [1,, 3]
var obj = {"foo": "bar", "baz": "qur"};
foo(a, b);
new Foo(a, b);
function qur(a, b){}
a, b
對於此規則,使用預設選項 { "before": false, "after": true }
的其他正確程式碼範例
在線上練習中開啟
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
// this rule does not enforce spacing between two commas
var arr = [
,,
, ,
];
// this rule does not enforce spacing after `[` and before `]`
var arr = [,];
var arr = [ , ];
var arr = [a, b,];
[,] = arr;
[ , ] = arr;
[a, b,] = arr;
// this rule does not enforce spacing before `}`
var obj = {x, y,};
var {z, q,} = obj;
import {foo, bar,} from "mod";
// this rule does not enforce spacing before `)`
foo(a, b,)
before
對於此規則,使用選項 { "before": true, "after": false }
的錯誤程式碼範例
在線上練習中開啟
/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1 bar = 2;
var arr = [1 2];
var obj = {"foo": "bar" "baz": "qur"};
new Foo(a b);
function baz(a b){}
a b
對於此規則,使用選項 { "before": true, "after": false }
的正確程式碼範例
在線上練習中開啟
/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1 ,bar = 2 ,
baz = true;
var arr = [1 ,2];
var arr = [1 ,,3]
var obj = {"foo": "bar" ,"baz": "qur"};
foo(a ,b);
new Foo(a ,b);
function qur(a ,b){}
a ,b
何時不使用
如果您的專案不遵循一致的逗號間距模式,請關閉此規則。
相關規則
版本
此規則在 ESLint v0.9.0 中引入。
延伸閱讀

