no-nonoctal-decimal-escape
Запрещает \8 и \9 escape-последовательности в строковых литералах
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Некоторые проблемы, о которых сообщает это правило, можно исправить вручную с помощью предложений редактора
Хотя до ECMAScript 2021 они не были определены в языке, escape-последовательности \8 и \9 в строковых литералах поддерживались большинством движков JavaScript и рассматривались как «бесполезные» escape-последовательности:
"\8" === "8"; // true
"\9" === "9"; // true
Начиная с ECMAScript 2021 эти escape-последовательности определены как не восьмеричные десятичные escape-последовательности и сохраняют прежнее поведение.
Тем не менее, спецификация ECMAScript рассматривает \8 и \9 в строковых литералах как устаревшую возможность. Если средой выполнения ECMAScript не является веб-браузер, этот синтаксис можно не поддерживать. Браузеры по-прежнему должны его поддерживать, но только в нестрогом режиме.
Независимо от целевой среды, при написании нового кода не следует использовать эти escape-последовательности.
Подробное описание правила
Это правило запрещает \8 и \9 escape-последовательности в строковых литералах.
Примеры неправильного кода для этого правила:
/*eslint no-nonoctal-decimal-escape: "error"*/
"";
"";
const foo = "wless";
const bar = "December 1";
const baz = "Don't use and escapes.";
const quux = "\0";
Примеры правильного кода для этого правила:
/*eslint no-nonoctal-decimal-escape: "error"*/
"8";
"9";
const foo = "w8less";
const bar = "December 19";
const baz = "Don't use \\8 and \\9 escapes.";
const quux = "\0\u0038";
Параметры
У этого правила нет параметров.
Связанные правила
Версия
Это правило добавлено в ESLint v7.14.0.
Дополнительная литература
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape