11

undefinedは window/global のプロパティのようです:

ここに画像の説明を入力

undefinedは、nullのように、JavaScript の一意の値であると常に考えていました。

しかし、上記のコード(Chromeでテスト済み)は私を混乱させます。

理由を説明できますか

undefined in window

true に評価し、一方で

null in window

false と評価される

4

1 に答える 1

13

だけでなく、undefinedもの値であり、この場合は( ES5.1 仕様)。InfinityNaNglobal objectwindow

に値を割り当てることができないという事実は、プロパティが に設定された属性undefinedで定義されているためです。writable false

nullは、のプロパティではなく、タイプ(の場合) のprimitive value(そのままの) です。5 NullNumber5window

これに関する詳細な背景については、注釈付きの ES5 仕様を参照してください。非常に読みやすいです!

于 2013-04-22T07:46:35.820 に答える