Spec-Zone.ru › ESLint

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" по умолчанию:

Открыть в Playground
/*eslint quotes: ["error", "double"]*/

var single = 'single';
var unescaped = 'a string containing "double" quotes';
var backtick = `back\ntick`; // you can use \n in single or double quoted strings

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

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

Открыть в Playground
/*eslint quotes: ["error", "single"]*/

var double = "double";
var unescaped = "a string containing 'single' quotes";

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

Открыть в Playground
/*eslint quotes: ["error", "single"]*/

var single = 'single';
var backtick = `back${x}tick`; // backticks are allowed due to substitution

backticks

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

Открыть в Playground
/*eslint quotes: ["error", "backtick"]*/

var single = 'single';
var double = "double";
var unescaped = 'a string containing `backticks`';

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

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

Открыть в Playground
/*eslint quotes: ["error", "double", { "avoidEscape": true }]*/

var single = 'a string containing "double" quotes';

Примеры дополнительного правильного кода для этого правила с параметрами "single", { "avoidEscape": true }:

Открыть в Playground
/*eslint quotes: ["error", "single", { "avoidEscape": true }]*/

var double = "a string containing 'single' quotes";

Примеры дополнительного правильного кода для этого правила с параметрами "backtick", { "avoidEscape": true }:

Открыть в Playground
/*eslint quotes: ["error", "backtick", { "avoidEscape": true }]*/

var double = "a string containing `backtick` quotes"

allowTemplateLiterals

Примеры дополнительного правильного кода для этого правила с параметрами "double", { "allowTemplateLiterals": true }:

Открыть в Playground
/*eslint quotes: ["error", "double", { "allowTemplateLiterals": true }]*/

var double = "double";
var double = `double`;

Примеры дополнительного правильного кода для этого правила с параметрами "single", { "allowTemplateLiterals": true }:

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

Spec-Zone.ru

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