Spec-Zone.ru › ESLint

Стиль запятых

Обеспечить согласованный стиль запятых

🔧 Исправимые

Некоторые проблемы, выявленные этим правилом, могут быть автоматически исправлены опцией --fix командной строки

Это правило было устаревшим в ESLint v8.53.0. Используйте соответствующее правило соответствующее правило в @stylistic/eslint-plugin-js.

Правило Стиль запятых навязывает стили для списков, разделенных запятыми. В JavaScript в основном используются два стиля запятых:

  • Стандартный стиль, в котором запятые ставятся в конце текущей строки
  • Стиль Запятая сначала, в котором запятые ставятся в начале следующей строки

Одним из оправданий использования стиля Запятая сначала является то, что это может помочь отслеживать отсутствующие и хвостовые запятые. Они представляют проблему, так как отсутствие запятых в объявлениях переменных может привести к утечке глобальных переменных, а хвостовые запятые могут привести к ошибкам в старых версиях IE.

Подробное описание правила

Это правило навязывает согласованный стиль запятых в литералах массивов, литералах объектов и объявлениях переменных.

Это правило не применяется в следующих случаях:

  • запятая, предшествуемая и следующая за переносом строки (одиночная запятая)
  • литералы массивов, литералы объектов и объявления переменных на одной строке

Параметры

Это правило имеет строковый параметр:

  • "last" (по умолчанию) требует запятой после и в той же строке, что и элемент массива, свойство объекта или объявление переменной
  • "first" требует запятой перед и в той же строке, что и элемент массива, свойство объекта или объявление переменной

Это правило также принимает дополнительный exceptions объект:

  • "exceptions" содержит свойства, имена которых соответствуют типам узлов в абстрактном синтаксическом дереве (AST) кода JavaScript:

    • "ArrayExpression": true игнорирует стиль запятых в литералах массивов
    • "ArrayPattern": true игнорирует стиль запятых в образцах массивов деструктуризации
    • "ArrowFunctionExpression": true игнорирует стиль запятых в параметрах выражений стрелочных функций
    • "CallExpression": true игнорирует стиль запятых в аргументах вызовов функций
    • "FunctionDeclaration": true игнорирует стиль запятых в параметрах объявлений функций
    • "FunctionExpression": true игнорирует стиль запятых в параметрах выражений функций
    • "ImportDeclaration": true игнорирует стиль запятых в спецификаторах объявлений импорта
    • "ObjectExpression": true игнорирует стиль запятых в литералах объектов
    • "ObjectPattern": true игнорирует стиль запятых в образцах объектов деструктуризации
    • "VariableDeclaration": true игнорирует стиль запятых в объявлениях переменных
    • "NewExpression": true игнорирует стиль запятых в параметрах выражений конструкторов

Способ определения типов узлов, определенных в ESTree, заключается в использовании AST Explorer с парсером espree.

last

Примеры неправильного кода для этого правила с параметром "last" по умолчанию:

Открыть в Playground
/*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" по умолчанию:

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

Открыть в Playground
/*eslint comma-style: ["error", "first"]*/

var foo = 1,
    bar = 2;

var foo = ["apples",
           "oranges"];

function baz() {
    return {
        "a": 1,
        "b:": 2
    };
}

Примеры правильного кода для этого правила с параметром "first":

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

Исключения

Пример использования: навязывание стиля запятых *только* в операторах var.

Примеры неправильного кода для этого правила с образцовыми "first", { "exceptions": { … } } параметрами:

Открыть в Playground
/*eslint comma-style: ["error", "first", { "exceptions": { "ArrayExpression": true, "ObjectExpression": true } }]*/

var o = {},
    a = [];

Примеры правильного кода для этого правила с образцовыми "first", { "exceptions": { … } } параметрами:

Открыть в Playground
/*eslint comma-style: ["error", "first", { "exceptions": { "ArrayExpression": true, "ObjectExpression": true } }]*/

var o = {fst:1,
         snd: [1,
               2]}
  , a = [];

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

Это правило можно безопасно отключить, если ваш проект не заботится о соблюдении согласованного стиля запятых.

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

  • operator-linebreak

Версия

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

Дополнительное чтение

Лучшая согласованность кодирования для списков и литералов объектов в JavaScript

Ресурсы

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

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

Spec-Zone.ru

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