Spec-Zone.ru › ESLint

Запись с точкой

Всюду, где возможно, используйте запись с точкой

🔧 Исправимо

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

В JavaScript для доступа к свойствам можно использовать запись с точкой (foo.bar) или квадратные скобки (foo["bar"]). Однако запись с точкой часто предпочтительнее, так как она легче читается, менее громоздка и лучше работает с агрессивными минимизаторами JavaScript.

foo["bar"];

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

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

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

Открыть в Sandbox
/*eslint dot-notation: "error"*/

var x = foo["bar"];

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

Открыть в Sandbox
/*eslint dot-notation: "error"*/

var x = foo.bar;

var x = foo[bar];    // Property name is a variable, square-bracket notation required

Опции

Это правило принимает один аргумент опций:

  • Установите опцию allowKeywords в значение false (по умолчанию true), чтобы следовать стилю, совместимому с ECMAScript версии 3, избегая записи с точкой для свойств зарезервированных слов.
  • Установите опцию allowPattern в строку регулярного выражения, чтобы разрешить использование квадратных скобок для имен свойств, которые соответствуют шаблону (по умолчанию шаблон не проверяется).

allowKeywords

Примеры правильного кода для опции { "allowKeywords": false }:

Открыть в Sandbox
/*eslint dot-notation: ["error", { "allowKeywords": false }]*/

var foo = { "class": "CS 101" }
var x = foo["class"]; // Property name is a reserved word, square-bracket notation required

Примеры дополнительного правильного кода для опции { "allowKeywords": false }:

Открыть в Sandbox
/*eslint dot-notation: ["error", { "allowKeywords": false }]*/

class C {
    #in;
    foo() {
        this.#in; // Dot notation is required for private identifiers
    }
}

allowPattern

Например, при подготовке данных для отправки во внешний API часто требуется использовать имена свойств, содержащие символы подчеркивания. Если правило camelcase активен, эти свойства в формате snake case не будут разрешены. Предоставив опцию allowPattern правилу dot-notation, эти свойства в формате snake case можно будет обращаться к ним с помощью квадратных скобок.

Примеры неправильного кода для опции { "allowPattern": "^[a-z]+(_[a-z]+)+$" } (шаблон для поиска свойств со названиями в snake case):

Открыть в Sandbox
/*eslint dot-notation: ["error", { "allowPattern": "^[a-z]+(_[a-z]+)+$" }]*/

var data = {};
data["fooBar"] = 42;

Примеры правильного кода для опции { "allowPattern": "^[a-z]+(_[a-z]+)+$" } (шаблон для поиска свойств со названиями в snake case):

Открыть в Sandbox
/*eslint dot-notation: ["error", { "allowPattern": "^[a-z]+(_[a-z]+)+$" }]*/

var data = {};
data["foo_bar"] = 42;

Версия

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

Ресурсы

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

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

Spec-Zone.ru

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