Secondo la documentazione di MDN suundefined
:
Nei browser moderni (JavaScript 1.8.5 / Firefox 4+), undefined è una proprietà non configurabile, non scrivibile secondo la specifica ECMAScript 5. Anche quando questo non è il caso, evitare di ignorarlo.
Uno degli attributi di proprietà di undefined è che non è scrivibile.
Ma se lo faccio:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
Ciò significa che posso sovrascrivere il valore di undefined
? Cosa succede se qualcuno lo fa? JavaScript dovrebbe avvisarlo?
typeof undefined
ritorna "undefined"
in circostanze normali.
"undefined"
è una stringa. La domanda non è chiedere cosa typeof (typeof undefined)
valuta. Si sta chiedendo cosa typeof undefined
valuta. Esso restituisce "undefined"
, non"string"
typeof ______
è un'espressione che restituisce una stringa contenente il tipo di ______
. Stai fraintendendo la domanda.
typeof test === "undefined"
)