Selon la documentation de MDN surundefined :
Dans les navigateurs modernes (JavaScript 1.8.5 / Firefox 4+), undefined est une propriété non configurable et non inscriptible selon la spécification ECMAScript 5. Même lorsque ce n'est pas le cas, évitez de le remplacer.
L'un des attributs de propriété d' undefined est qu'il n'est pas accessible en écriture.
Mais si je le fais:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
Est-ce à dire que je peux écraser la valeur de undefined? Que se passe-t-il si quelqu'un fait ça? JavaScript devrait-il en avertir?
typeof undefinedrevient "undefined"dans des circonstances normales.
"undefined"c'est une chaîne. La question n'est pas de savoir à quoi typeof (typeof undefined)évalue. Il s'agit de savoir à quoi correspond typeof undefined. Il revient "undefined", pas"string"
typeof ______est une expression qui s'évalue en une chaîne contenant le type de la ______. Vous comprenez mal la question.
typeof test === "undefined")