Чтение You-dont-know-Js в этой главе: https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/ch3.md
есть фрагмент кода:
undefined = true; // setting a land-mine for other code! avoid!
(function IIFE( undefined ){
var a;
if (a === undefined) {
console.log( "Undefined is safe here!" );
}
})();
Что касается немедленно выполняемой функции, я знаю, что аргумент не определен, a также не определен, таким образом, === undefined.
мой вопросэто как можно присвоить значение неопределенному? Как я понимаю, undefined - это примитивный тип в js, тогда что означает undefined = true;?
Кроме того, чтобы проверить мое понимание, я немного изменил этот код:
undefined = 5; // set undefined to an integer? how can it be?
(function IIFE( undefined ){
var a;
if (a === undefined) {
console.log( "Undefined is safe here!" );
}
})(undefined); //still execute console.log function
и результат остается таким же