De acuerdo con la documentación de MDN sobreundefined
:
En los navegadores modernos (JavaScript 1.8.5 / Firefox 4+), undefined es una propiedad no configurable, no escribible según la especificación ECMAScript 5. Incluso cuando este no sea el caso, evite anularlo.
Uno de los atributos de propiedad de undefined es que no se puede escribir.
Pero si lo hago:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
¿Eso significa que puedo sobrescribir el valor de undefined
? ¿Qué pasa si alguien hace eso? ¿Debería JavaScript advertir sobre eso?
typeof undefined
regresa "undefined"
en circunstancias normales.
"undefined"
es una cadena. La pregunta no es preguntar a qué se typeof (typeof undefined)
evalúa. Se está preguntando a qué se typeof undefined
evalúa. Regresa "undefined"
, no"string"
typeof ______
es una expresión que se evalúa como una cadena que contiene el tipo de ______
. Estás malinterpretando la pregunta.
typeof test === "undefined"
)