Запись с точкой
Всюду, где возможно, используйте запись с точкой
Некоторые проблемы, обнаруженные этим правилом, автоматически исправимы с помощью опции командной строки --fix командной строки
В JavaScript для доступа к свойствам можно использовать запись с точкой (foo.bar) или квадратные скобки (foo["bar"]). Однако запись с точкой часто предпочтительнее, так как она легче читается, менее громоздка и лучше работает с агрессивными минимизаторами JavaScript.
foo["bar"];
Подробное описание правила
Это правило направлено на поддержание согласованности кода и повышение его читабельности путем поощрения использования записи с точкой, когда это возможно. Таким образом, оно будет предупреждать о ненужном использовании квадратных скобок.
Примеры неправильного кода для этого правила:
/*eslint dot-notation: "error"*/
var x = foo[];
Примеры правильного кода для этого правила:
/*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 }:
/*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 }:
/*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):
/*eslint dot-notation: ["error", { "allowPattern": "^[a-z]+(_[a-z]+)+$" }]*/
var data = {};
data[] = 42;
Примеры правильного кода для опции { "allowPattern": "^[a-z]+(_[a-z]+)+$" } (шаблон для поиска свойств со названиями в snake case):
/*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