Disallow assignments to native objects or read-only global variables
The "extends": "eslint:recommended"
property in a configuration file enables this rule
JavaScript environments contain a number of built-in global variables, such as window
in browsers and process
in Node.js. In almost all cases, you don’t want to assign a value to these global variables as doing so could result in losing access to important functionality. For example, you probably don’t want to do this in browser code:
While examples such as window
are obvious, there are often hundreds of built-in global objects provided by JavaScript environments. It can be hard to know if you’re assigning to a global variable or not.
This rule disallows modifications to read-only global variables.
ESLint has the capability to configure global variables as read-only.
Examples of incorrect code for this rule:
Examples of correct code for this rule:
This rule accepts an exceptions
option, which can be used to specify a list of builtins for which reassignments will be allowed:
If you are trying to override one of the native objects.
This rule was introduced in ESLint v3.3.0.
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-global-assign