Spec-Zone.ru › ESLint

разделитель-запятых

Принудительно поддерживать согласованное расстояние до и после запятых

🔧 Исправимо

Некоторые проблемы, сообщенные этим правилом, могут быть автоматически исправлены с помощью --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 }:

Открыть в Playground
/*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 }:

Открыть в Playground
/*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 }:

Открыть в Playground
/*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 }:

Открыть в Playground
/*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 }:

Открыть в Playground
/*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

Когда не следует его использовать

Если ваш проект не будет следовать согласованному шаблону разделителей запятыми, отключите это правило.

Связанные правила

  • array-bracket-spacing
  • comma-style
  • object-curly-spacing
  • space-in-brackets
  • space-in-parens
  • space-infix-ops
  • space-after-keywords
  • space-unary-ops
  • space-return-throw-case

Версия

Это правило было добавлено в ESLint v0.9.0.

Дополнительные материалы

Правила оформления кода для языка программирования JavaScript
Руководство по стилю Dojo — Dojo Toolkit - Справочное руководство

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/comma-spacing

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API