разделитель-запятых
Принудительно поддерживать согласованное расстояние до и после запятых
Некоторые проблемы, сообщенные этим правилом, могут быть автоматически исправлены с помощью --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(ab);
function baz(ab){}
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.
Дополнительные материалы
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/comma-spacing