На самом деле подсказка не совсем корректная. Что будет, если появится ещё одно свойство, которое выбрасывает exception? Корректное решение будет такого типа:
for (var propertyName in window) {
try {
var propertyType = typeof window[propertyName];
} catch (e) {
console.log("Unknown " + propertyName);
continue;
}
switch (propertyType) {
case "string":
console.log("String " + propertyType);
break;
case "number":
console.log("Number " + propertyType);
break;
default:
console.log("Default " + propertyType);
}
}