no-global-assign

不允许分配给原生对象或只读全局变量

配置文件 中的 "extends": "eslint:recommended" 属性启用了该规则

JavaScript 环境包含许多内置的全局变量,例如浏览器中的 window 和 Node.js 中的 process。在几乎所有情况下,您都不想为这些全局变量赋值,因为这样做可能会导致失去对重要功能的访问权限。例如,您可能不想在浏览器代码中执行此操作:

window = {};

虽然 window 之类的示例很明显,但 JavaScript 环境通常会提供数百个内置的全局对象。很难知道您是否分配给全局变量。

规则详情

此规则不允许修改只读全局变量。

GyWsk3TRAzUtlJutL9hBROoGjtvBEYGtM6ucmyCKyeFManyFpYXJv2/OHc7atklT

    k+4y2T5Di65BE0nr46EGZS2/8AvPjcNQUIKNpUbcJfSzPBotutG/mZ0vMt/Gexp7vGQR90H6yyxijkFBbDxXdP2qQt0AvHTzAhxUSMcy/srTNE3K42gMVeRKGEMQHO/6s/SdegHI1bDmHXcm1pn9EdwA4zec1TDD+xCTyfhWD6od81oMYWwzcKQrrWZnIw8pBN2CzxS+quYGxg1zpyjaQA==

P6820Z8G9wSG50SW7a53cABVQLzOImcIRV+hQUkxjXCO67pG2wyQwHch0OYzHhMo

/*eslint no-global-assign: "error"*/

Object = null
undefined = 1
/*eslint no-global-assign: "error"*/
/*eslint-env browser*/

window = {}
length = 1
top = 1
/*eslint no-global-assign: "error"*/
/*global a:readonly*/

a = 1

L9CfmI+BHDwYx59RS77HEHanEO40ClscOusGIf+RQNhowUc7Zz7f+Hb0VCfK93W9

/*eslint no-global-assign: "error"*/

a = 1
var b = 1
b = 2
/*eslint no-global-assign: "error"*/
/*eslint-env browser*/

onload = function() {}
/*eslint no-global-assign: "error"*/
/*global a:writable*/

a = 1

选项

LDSrNtOr/P9+HeB4bDtfEnLFwaso5lCsRFlvN04zcXTx5+zDTqXIA5c3o8ViKWEtag8LjcOFnRHeNlCMsXqhYWoxS+X6U2aKHsVdaYZv4cAM6fe+7RxxCc3Vs6aG7edlgILvTS6rWvTc3tnY/ZPAQw==

{
    "rules": {
        "no-global-assign": ["error", {"exceptions": ["Object"]}]
    }
}

何时不使用

SN89QKalKiqmm7qZ6FvzqHm/IogxK2w9aVNU4Ad2X1rickH5npO+FT4ElMI6MHM6