Skip to content
← Back to rules

eslint/no-restricted-globals 限制

它做了什么

此规则允许你指定在应用程序中不希望使用的全局变量名称。

为什么这是个问题?

如果希望通过启用环境来允许一组全局变量,但仍想禁止其中某些变量的使用,那么禁止特定全局变量的使用会很有用。

例如,早期版本的 Internet Explorer 将当前 DOM 事件暴露为一个全局变量 event,但长期以来使用该变量被视为不良实践。对此进行限制可确保在浏览器代码中不会使用该变量。

示例

如果我们有如下配置:

json
"no-restricted-globals": ["error", "event"]

以下模式会被认为是问题:

javascript
function onClick() {
  console.log(event); // 不期望的全局变量 'event'。请改用局部参数。
}

配置

此规则接受一个包含以下属性的配置对象:

restrictedGlobals

type: Record<string, string>

default: {}

{ "name": "event", "message": "Use local parameter instead." } 格式定义的对象,用于指定哪些全局变量被禁止使用。

如何使用

要通过配置文件或命令行 启用 此规则,可以使用:

json
{
  "rules": {
    "no-restricted-globals": "error"
  }
}
bash
oxlint --deny no-restricted-globals

参考资料