咱们写在 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