no-const-assign
Запрещает повторное присваивание переменным const, using и await using
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Привязки констант нельзя изменять. Попытка изменить привязку константы приведёт к ошибке во время выполнения.
Подробности правила
Это правило предназначено для обнаружения изменений переменных, объявленных с помощью ключевых слов const, using или await using.
Примеры неправильного кода для этого правила:
/*eslint no-const-assign: "error"*/
const a = 0;
= 1;
/*eslint no-const-assign: "error"*/
const a = 0;
+= 1;
/*eslint no-const-assign: "error"*/
const a = 0;
++;
/*eslint no-const-assign: "error"*/
if (foo) {
using a = getSomething();
= somethingElse;
}
if (bar) {
await using a = getSomething();
= somethingElse;
}
Примеры правильного кода для этого правила:
/*eslint no-const-assign: "error"*/
const a = 0;
console.log(a);
/*eslint no-const-assign: "error"*/
if (foo) {
using a = getSomething();
a.execute();
}
if (bar) {
await using a = getSomething();
a.execute();
}
/*eslint no-const-assign: "error"*/
for (const a in [1, 2, 3]) { // `a` is re-defined (not modified) on each loop step.
console.log(a);
}
/*eslint no-const-assign: "error"*/
for (const a of [1, 2, 3]) { // `a` is re-defined (not modified) on each loop step.
console.log(a);
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Если вы не хотите получать уведомления об изменении переменных, объявленных с помощью ключевых слов const, using и await using, это правило можно отключить.
Проверяется TypeScript
Это правило можно безопасно отключить при использовании TypeScript, поскольку компилятор TypeScript выполняет эту проверку.
Версия
Это правило появилось в ESLint v1.0.0-rc-1.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-const-assign