
comma-style
強制執行一致的逗號風格
🔧 可修正
此規則報告的某些問題可透過 --fix
命令列選項自動修正
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中的對應規則。
逗號風格規則強制執行以逗號分隔的列表的風格。JavaScript 中主要使用兩種逗號風格
- 標準風格,其中逗號放在目前行的末尾
- 逗號優先風格,其中逗號放在下一行的開頭
使用逗號優先風格的理由之一是,它可以幫助追蹤遺失和尾隨逗號。這些問題是因為變數宣告中遺失的逗號可能會導致全域變數洩漏,而尾隨逗號可能會導致舊版 IE 出現錯誤。
規則詳情
此規則強制執行陣列文字、物件文字和變數宣告中一致的逗號風格。
此規則不適用於以下任何情況
- 逗號前面和後面都有換行符號(單獨逗號)
- 單行陣列文字、物件文字和變數宣告
選項
此規則具有字串選項
"last"
(預設)要求逗號在陣列元素、物件屬性或變數宣告之後,且在同一行上"first"
要求逗號在陣列元素、物件屬性或變數宣告之前,且在同一行上
此規則也接受額外的 exceptions
物件
-
"exceptions"
具有屬性,其名稱對應於 JavaScript 程式碼抽象語法樹 (AST) 中的節點類型"ArrayExpression": true
忽略陣列文字中的逗號風格"ArrayPattern": true
忽略解構的陣列模式中的逗號風格"ArrowFunctionExpression": true
忽略箭頭函式運算式參數中的逗號風格"CallExpression": true
忽略函式呼叫引數中的逗號風格"FunctionDeclaration": true
忽略函式宣告參數中的逗號風格"FunctionExpression": true
忽略函式運算式參數中的逗號風格"ImportDeclaration": true
忽略 import 宣告指定符中的逗號風格"ObjectExpression": true
忽略物件文字中的逗號風格"ObjectPattern": true
忽略解構的物件模式中的逗號風格"VariableDeclaration": true
忽略變數宣告中的逗號風格"NewExpression": true
忽略建構子運算式的參數中的逗號風格
確定 ESTree 定義的節點類型的一種方法是使用 AST Explorer 以及 espree 解析器。
last
以下為此規則使用預設 "last"
選項的錯誤程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "last"]*/
var foo = 1
bar = 2;
var foo = 1
bar = 2;
var foo = ["apples"
"oranges"];
function baz() {
return {
"a": 1
"b:": 2
};
}
以下為此規則使用預設 "last"
選項的正確程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "last"]*/
var foo = 1, bar = 2;
var foo = 1,
bar = 2;
var foo = ["apples",
"oranges"];
function baz() {
return {
"a": 1,
"b:": 2
};
}
first
以下為此規則使用 "first"
選項的錯誤程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "first"]*/
var foo = 1
bar = 2;
var foo = ["apples"
"oranges"];
function baz() {
return {
"a": 1
"b:": 2
};
}
以下為此規則使用 "first"
選項的正確程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "first"]*/
var foo = 1, bar = 2;
var foo = 1
,bar = 2;
var foo = ["apples"
,"oranges"];
function baz() {
return {
"a": 1
,"b:": 2
};
}
exceptions
一個範例用例是僅在 var 陳述式中強制執行逗號風格。
以下為此規則使用範例 "first", { "exceptions": { … } }
選項的錯誤程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "first", { "exceptions": { "ArrayExpression": true, "ObjectExpression": true } }]*/
var o = {}
a = [];
以下為此規則使用範例 "first", { "exceptions": { … } }
選項的正確程式碼範例
在遊樂場中開啟
/*eslint comma-style: ["error", "first", { "exceptions": { "ArrayExpression": true, "ObjectExpression": true } }]*/
var o = {fst:1,
snd: [1,
2]}
, a = [];
何時不應使用
如果您的專案不關心強制執行一致的逗號風格,則可以安全地關閉此規則。
相關規則
版本
此規則在 ESLint v0.9.0 中引入。
延伸閱讀
