Javascript, var name = 1, "typeof name" fornece "string"? [duplicado
Esta pergunta já tem uma resposta aqui:
ome @var produz um resultado estranho em Javascript [duplicado] 5 respostasEu encontrei esse problema estranho, quando escrevo código Javascript como abaixo:
var name = 1;
alert(typeof name); // this will alert "string"
var b = 1;
alert(typeof b); // this will alert "number"
Eu recebi "string" para "typeof name", mas obtive "number" para "typeof b", no entanto, acho que os dois devem ser "number"
E esse código também não será executado:
var name = 1;
if (name === 1) {
alert("ok")
}
Não alerta, pois o tipo do nome é "string"!
Eu testei o código acima no Chrome e Safari, ambos dão o mesmo resultado. Por que "typeof name" é "string" nesse caso? por que o nome da variável "name" é tão especial?