quotes
Обеспечивает единообразное использование обратных кавычек, двойных или одинарных кавычек
Некоторые проблемы, о которых сообщает это правило, могут автоматически исправляться параметром --fix командной строки
Это правило было объявлено устаревшим в ESLint v8.53.0. Оно будет удалено в v11.0.0. Используйте соответствующее правило из @stylistic/eslint-plugin.
В JavaScript можно задавать строки тремя способами: с помощью двойных кавычек, одинарных кавычек и обратных кавычек (начиная с ECMAScript 6). Например:
var double = "double";
var single = 'single';
var backtick = `backtick`; // ES6 only
Каждая из этих строк создает строку и в некоторых случаях может использоваться взаимозаменяемо с другими. Выбор способа задания строк в кодовой базе — вопрос стиля, за исключением шаблонных литералов (которые позволяют интерпретировать встроенные выражения).
Во многих кодовых базах требуется единообразный способ задания строк.
Подробности правила
Это правило обеспечивает единообразное использование обратных кавычек, двойных или одинарных кавычек.
Это правило учитывает прологи директив, например "use strict", и не сообщает о них и не исправляет их автоматически, если это изменит интерпретацию пролога директив.
Параметры
У этого правила есть два параметра: строковый и объектный.
Строковый параметр:
-
"double"(по умолчанию) требует по возможности использовать двойные кавычки -
"single"требует по возможности использовать одинарные кавычки -
"backtick"требует по возможности использовать обратные кавычки
Объектный параметр:
-
"avoidEscape": trueразрешает использовать одинарные или двойные кавычки, если строка содержит кавычку, которую иначе пришлось бы экранировать -
"allowTemplateLiterals": trueразрешает использовать обратные кавычки
Устарело: свойство объекта avoid-escape объявлено устаревшим; вместо него используйте свойство объекта avoidEscape.
double
Примеры неправильного кода для этого правила с параметром "double" по умолчанию:
/*eslint quotes: ["error", "double"]*/
var single = ;
var unescaped = ;
var backtick = ; // you can use \n in single or double quoted strings
Примеры правильного кода для этого правила с параметром "double" по умолчанию:
/*eslint quotes: ["error", "double"]*/
var double = "double";
var backtick = `back
tick`; // backticks are allowed due to newline
var backtick = tag`backtick`; // backticks are allowed due to tag
single
Примеры неправильного кода для этого правила с параметром "single":
/*eslint quotes: ["error", "single"]*/
var double = ;
var unescaped = ;
Примеры правильного кода для этого правила с параметром "single":
/*eslint quotes: ["error", "single"]*/
var single = 'single';
var backtick = `back${x}tick`; // backticks are allowed due to substitution
backticks
Примеры неправильного кода для этого правила с параметром "backtick":
/*eslint quotes: ["error", "backtick"]*/
var single = ;
var double = ;
var unescaped = ;
Примеры правильного кода для этого правила с параметром "backtick":
/*eslint quotes: ["error", "backtick"]*/
"use strict"; // directives must use single or double quotes
var backtick = `backtick`;
var obj = { 'prop-name': `value` }; // backticks not allowed for property names
avoidEscape
Примеры дополнительного правильного кода для этого правила с параметрами "double", { "avoidEscape": true }:
/*eslint quotes: ["error", "double", { "avoidEscape": true }]*/
var single = 'a string containing "double" quotes';
Примеры дополнительного правильного кода для этого правила с параметрами "single", { "avoidEscape": true }:
/*eslint quotes: ["error", "single", { "avoidEscape": true }]*/
var double = "a string containing 'single' quotes";
Примеры дополнительного правильного кода для этого правила с параметрами "backtick", { "avoidEscape": true }:
/*eslint quotes: ["error", "backtick", { "avoidEscape": true }]*/
var double = "a string containing `backtick` quotes"
allowTemplateLiterals
Примеры дополнительного правильного кода для этого правила с параметрами "double", { "allowTemplateLiterals": true }:
/*eslint quotes: ["error", "double", { "allowTemplateLiterals": true }]*/
var double = "double";
var double = `double`;
Примеры дополнительного правильного кода для этого правила с параметрами "single", { "allowTemplateLiterals": true }:
/*eslint quotes: ["error", "single", { "allowTemplateLiterals": true }]*/
var single = 'single';
var single = `single`;
{ "allowTemplateLiterals": false } не запрещает использование всех шаблонных литералов. Если вы хотите запретить любые шаблонные литералы, используйте no-restricted-syntax и укажите селектор TemplateLiteral.
Когда не следует использовать это правило
Если вам не требуется единообразие стиля строк, это правило можно отключить.
Версия
Это правило добавлено в ESLint v0.0.7.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/quotes