TGViewer
CodeRoll | Frontend CodeRoll | Frontend @coderoll · 4.06K subscribers
Post #2461 1.94K
Пояснение к ответу

В функции sayHi мы сначала определяем переменную name с помощью ключевого слова var. Это означает, что name поднимается в начало функции. name будет иметь значение undefined до тех пор, пока выполнение кода не дойдет до строки, где ей присваивается значение John. Мы еще не определили значение name, когда пытаемся вывести ее значение в консоль, поэтому получаем undefined. Переменные, объявленные с помощью ключевых слов let и const, также поднимаются в начало области видимости, но в отличие от переменных, объявленных с помощью var, не инициализируются, т.е. такие переменные поднимаются без значения. Доступ к ним до инициализации невозможен. Это называется временной мертвой зоной. Когда мы пытаемся обратиться к переменным до их определения, JavaScript выбрасывает исключение ReferenceError.
  • 👍 13
More from @coderoll
  1. Oct 16, 2026Используем принципы “Чистого кода” в контексте JavaScript. Функции ❗️ Не создавайте глобал…
  2. Oct 15, 2026⚡️ В сети начали массово сливать IT-курсы и книги известных онлайн школ Вот отсортированна…
  3. Oct 15, 2026❓ Как работает метод map? Ответ: Метод map создаёт новый массив, применяя указанную функци…
  4. Oct 14, 2026АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ Проект «Terminal» стал крупнейшей библиотекой бесплатного об…
  5. Oct 14, 2026GitHub Copilot – AI-помощник для написания кода Позволяет писать код быстрее, учиться на п…
  6. Oct 13, 2026Hero Patterns Онлайн-коллекция готовых к использованию SVG-фонов, которые легко интегриров…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →