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"
Другие вопросы по тегам