no-nonoctal-decimal-escape
Запрет на использование последовательностей escape \8 и \9 в строковых литералах
Использование конфигурации 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"*/
"";
"";
var foo = "wless";
var bar = "December 1";
var baz = "Don't use and escapes.";
var quux = "\0";
Примеры правильного кода для этой проверки:
/*eslint no-nonoctal-decimal-escape: "error"*/
"8";
"9";
var foo = "w8less";
var bar = "December 19";
var baz = "Don't use \\8 and \\9 escapes.";
var 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