Spec-Zone.ru › ESLint

Запрет на использование глобальных переменных

Запретить использование определенных глобальных переменных может быть полезно, если вы хотите разрешить набор глобальных переменных, включив определённую среду, но при этом запретить некоторые из них.

Например, ранние версии Internet Explorer предоставляли текущее событие DOM как глобальную переменную event, но использование этой переменной давно считается плохой практикой. Ограничение использования этой переменной гарантирует, что она не будет использоваться в коде браузера.

Подробное описание правила

Это правило позволяет указать имена глобальных переменных, которые вы не хотите использовать в своем приложении.

Параметры

Это правило принимает список строк, где каждая строка — это глобальная переменная, которая должна быть ограничена:

{
    "rules": {
        "no-restricted-globals": ["error", "event", "fdescribe"]
    }
}

В качестве альтернативы, правило также принимает объекты, где указывается имя глобальной переменной и необязательное пользовательское сообщение:

{
    "rules": {
        "no-restricted-globals": [
            "error",
            {
                "name": "event",
                "message": "Use local parameter instead."
            },
            {
                "name": "fdescribe",
                "message": "Do not commit fdescribe. Use describe instead."
            }
        ]
    }
}

Примеры неправильного кода для примера "event", "fdescribe" имен глобальных переменных:

Открыть в Playground
/*global event, fdescribe*/
/*eslint no-restricted-globals: ["error", "event", "fdescribe"]*/

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

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

Примеры правильного кода для примера "event" имени глобальной переменной:

Открыть в Playground
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/

import event from "event-module";
Открыть в Playground
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/

var event = 1;

Примеры неправильного кода для примера "event" имени глобальной переменной, а также пользовательское сообщение об ошибке:

Открыть в Playground
/*global event*/
/* eslint no-restricted-globals: ["error", { name: "event", 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 v2.3.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-restricted-globals

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API