no-global-assign
Запрещает присваивания к встроенным объектам или глобальным переменным с только для чтения
Использование конфигурации recommended из @eslint/js в файле конфигурации активирует это правило
Среды JavaScript содержат ряд встроенных глобальных переменных, таких как window в браузерах и process в Node.js. В большинстве случаев не следует присваивать значения этим глобальным переменным, так как это может привести к потере доступа к важным функциям. Например, в коде браузера этого делать не нужно:
window = {};
Хотя примеры, такие как window очевидны, часто в JavaScript-средах предоставляется сотни встроенных глобальных объектов. Сложно определить, происходит ли присваивание глобальной переменной.
Подробное описание правила
Это правило запрещает изменения глобальных переменных с только для чтения.
ESLint позволяет настроить глобальные переменные как с только для чтения.
Примеры неправильного кода для этого правила:
/*eslint no-global-assign: "error"*/
= null
= 1
/*eslint no-global-assign: "error"*/
/*global window:readonly*/
= {}
Примеры правильного кода для этого правила:
/*eslint no-global-assign: "error"*/
a = 1
var b = 1
b = 2
/*eslint no-global-assign: "error"*/
/*global onload:writable*/
onload = function() {}
Параметры
Это правило принимает параметр exceptions, который может использоваться для указания списка встроенных элементов, для которых разрешены повторные присваивания:
{
"rules": {
"no-global-assign": ["error", {"exceptions": ["Object"]}]
}
}
Когда не стоит использовать
Если вы пытаетесь перезаписать один из встроенных объектов.
Связанные правила
Версия
Это правило было добавлено в ESLint v3.3.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-global-assign