咱们写在 JavaScript 代码中的 undefined(它不是字面量), 并不是 undefined 值自身. 而是一个局部变量或是全局对象的一个属性. 但大部分时候它们的值是 undefined.
NaN 和 Infinity 也同理.
window.undefined === undefined; // undefined 是一个全局变量.// true{ let undefined; // undefined 不是关键字也不是字面量. window.undefined === undefined; // 它们的值都是 undefined.}// true{ let undefined = 1; window.undefined === undefined; // 局部变量 undefined 的值为1, 所以不相等.}// falsewindow.undefined = 1;{ let undefined; window.undefined === undefined; // 全局变量 undefined 的值不能扭转, 始终为 undefined, 所以相等.}// true