кавычки
Навязывает последовательное использование обратных апострофов, двойных или одинарных кавычек
Некоторые проблемы, обнаруженные этим правилом, автоматически исправляются с помощью параметра командной строки --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":
/*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":
/*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
обратные апострофы
Примеры некорректного кода для этого правила с параметром "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
избегать экранирования
Примеры дополнительного корректного кода для этого правила с параметрами "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"
разрешить шаблонные литералы
Примеры дополнительного корректного кода для этого правила с параметрами "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