Skip to content
← Back to rules

eslint/no-undefined 制限

何をするか

undefined を識別子として使用することを禁止する

なぜ悪いのか

undefined を直接使用すると、JavaScript では影に隠されたり上書きされたりする可能性があるため、バグの原因となることがある。null を使うか、明示的に undefined を使わない(例:戻り値が省略された場合など)ことで、誤って発生する問題を回避できるため、より安全で意図的である。

このルールに違反する誤りのコード例:

javascript
var foo = undefined;

var undefined = "foo";

if (foo === undefined) {
  // ...
}

function baz(undefined) {
  // ...
}

bar(undefined, "lorem");

このルールに従った正しいコード例:

javascript
var foo = void 0;

var Undefined = "foo";

if (typeof foo === "undefined") {
  // ...
}

global.undefined = "foo";

bar(void 0, "lorem");

使用方法

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

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

参照