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": "代わりにローカルパラメータを使用してください。" } のオブジェクトで、使用を制限するグローバル変数を定義します。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

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

参照