De acordo com a documentação da MDN sobreundefined
:
Nos navegadores modernos (JavaScript 1.8.5 / Firefox 4+), undefined é uma propriedade não configurável e não gravável de acordo com a especificação do ECMAScript 5. Mesmo quando não for esse o caso, evite substituí-lo.
Um dos atributos de propriedade de indefinido é que não é gravável.
Mas se eu fizer:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
Isso significa que eu posso substituir o valor de undefined
? O que acontece se alguém faz isso? O JavaScript deve alertar sobre isso?
typeof undefined
retorna "undefined"
em circunstâncias normais.
"undefined"
é uma string. A questão não é perguntar o que é typeof (typeof undefined)
avaliado. Está perguntando o que typeof undefined
avalia. Ele retorna "undefined"
, não"string"
typeof ______
é uma expressão que é avaliada como uma sequência que contém o tipo de ______
. Você está entendendo mal a pergunta.
typeof test === "undefined"
)