Zgodnie z dokumentacją MDN na tematundefined :
We współczesnych przeglądarkach (JavaScript 1.8.5 / Firefox 4+) undefined jest niemożliwą do skonfigurowania, niemożliwą do zapisu właściwością zgodnie ze specyfikacją ECMAScript 5. Nawet jeśli tak nie jest, unikaj przesłonięcia.
Jednym z atrybutów niezdefiniowanych jest to, że nie można zapisywać.
Ale jeśli to zrobię:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
Czy to oznacza, że mogę zastąpić wartość undefined? Co się stanie, jeśli ktoś to zrobi? Czy JavaScript powinien o tym ostrzegać?
typeof undefinedpowraca "undefined"w normalnych okolicznościach.
"undefined"jest ciąg. Pytanie nie dotyczy tego, co typeof (typeof undefined)ocenia. Pytanie o to, co typeof undefinedocenia. Zwraca "undefined", a nie"string"
typeof ______to wyrażenie, którego wynikiem jest łańcuch zawierający typ ______. Nie rozumiesz pytania.
typeof test === "undefined")