Давайте обсудим поведение хостинга..

Если у вас есть минимальные знания о том, как код работает в JavaScript, вы можете легко догадаться о выводе приведенного ниже кода.

и результат будет

Но давайте переместим оператор console.log на один шаг выше... т. е. поместим его перед объявлением переменной канала, как показано ниже.

Обычно мы ожидаем, что оператор console.log выведет ошибку, но выдаст что-то еще…

Так что же здесь происходит?

Интерпретатор JavaScript увидит приведенный выше код как

В основном все глобальные объявления переменных в JavaScript будут перемещены в верхнюю часть области перед выполнением кода, и это поведение называется Поднятие.

Для более подробного объяснения того, как JavaScript работает за кулисами, см.

Поставьте лайк под видео, если вас устраивает объяснение :)