Spec-Zone.ru › ESLint

кавычки

Навязывает последовательное использование обратных апострофов, двойных или одинарных кавычек

🔧 Исправимо

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

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

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":

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

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

обратные апострофы

Примеры некорректного кода для этого правила с параметром "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

избегать экранирования

Примеры дополнительного корректного кода для этого правила с параметрами "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"

разрешить шаблонные литералы

Примеры дополнительного корректного кода для этого правила с параметрами "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