typeof создает новую переменную с заниженным значением, если она не существует или нет
У меня есть этот код
if(typeof foo == "undefined"){
foo = "bar";
}
в глобальном масштабе. Я знаю, что когда мы получаем ссылку на переменную, интерпретатор проверяет, объявлена ли она уже, а если нет, то создает новую. Теперь в этом примере кода, будет выражение
typeof foo == "undefined"
создаст foo с неопределенным значением или
foo = "bar";
создаст переменную foo?
1 ответ
Решение
Вы можете просто запустить приведенный выше код в консоли,
факт, что это создает глобальный foo = "bar";
если он запускается впервые, со следующего раза, поскольку foo уже создан, он не удовлетворяет условию.
Вывод консоли Chrome: https://imgur.com/a/sXrDm
>if(typeof foo == "undefined"){
foo = "bar";
}
>"bar"