Ну, typeof
возвращает строку, поэтому любая typeof typeof
также будет строкой:
var x = [typeof x, typeof y][1]; //x is undefined when this is run
console.log(typeof x); //typeof "undefined" == string
В приведенном выше коде [typeof x, typeof y]
равно ["undefined", "undefined"]
.
Вот простая демонстрация:
var x = [typeof x, typeof y];
console.log(x); //returns ["undefined", "undefined"]
var myVar = x[1];
console.log(myVar); //returns "undefined"
console.log(typeof myVar); //returns string, because "undefined" is a string