首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-restricted-globals

如果您希望通过启用环境来允许一组全局变量,但仍想禁止某些全局变量,则不允许使用特定全局变量。

例如,早期的 Internet Explorer 版本将当前 DOM 事件暴露为全局变量event,但使用此变量很长一段时间被认为是一种不好的做法。限制这将确保这个变量不被用在浏览器代码中。

规则细节

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

选项

这条规则需要一个字符串列表,其中每个字符串是一个全局的限制:

代码语言:javascript
复制
{
    "rules": {
        "no-restricted-globals": ["error", "event", "fdescribe"]
    }
}

或者,规则还接受对象,其中指定了全局名称和可选的自定义消息:

代码语言:javascript
复制
{
    "rules": {
        "no-restricted-globals": [
            "error",
            {
                "name": "event",
                "message": "Use local parameter instead."
            },
            {
                "name": "fdescribe",
                "message": "Do not commit fdescribe. Use describe instead."
            }
        ]
    }
}

示例全局变量名称"event", "fdescribe"错误代码示例:

代码语言:javascript
复制
/*global event, fdescribe*/
/*eslint no-restricted-globals: ["error", "event", "fdescribe"]*/

function onClick() {
    console.log(event);
}

fdescribe("foo", function() {
});

示例全局变量名称"event"正确代码示例:

代码语言:javascript
复制
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/

import event from "event-module";
代码语言:javascript
复制
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/

var event = 1;

示例全局变量名称"event"错误代码示例以及自定义错误消息:

代码语言:javascript
复制
/*global event*/
/* eslint no-restricted-globals: ["error", { name: "error", message: "Use local parameter instead." }] */

function onClick() {
    console.log(event);    // Unexpected global variable 'event'. Use local parameter instead.
}

相关规则

  • no-restricted-properties
  • no-restricted-syntax

版本

该规则在 ESLint 2.3.0 中引入。

资源

扫码关注腾讯云开发者

领取腾讯云代金券