Что такое хостинг?

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

Пример кода

Вот как движок JavaScript видит приведенный выше код во время выполнения

Когда вы выполняете фрагмент кода в JavaScript, движок JavaScript создает глобальный контекст выполнения. Этот глобальный контекст выполнения имеет две фазы: фазу объявления и фазу выполнения.

На этапе объявления движок JavaScript перемещает объявление переменной и объявление функции в верхнюю часть кода. Это причина подъема JavaScript.

В вышеупомянутом примере вы можете это увидеть.

Преимущество подъема

Основное преимущество подъема заключается в том, что мы можем использовать функцию или переменную еще до ее объявления.
Мы увидим несколько примеров

Подъем функции

Объявление функции

В приведенном выше примере мы вызываем функцию sayHello еще до ее объявления. Но этот фрагмент кода не вызывает ошибки. Поскольку движок JavaScript переместит объявление функции вверх, а выполнение функции (вызов функции) вниз при выполнении кода. Таким образом, вывод приведенного выше кода будет «Привет, Джон Сноу».

Выражение функции

В приведенном выше примере мы объявляем отображение функции с помощью ключевого слова var. Таким образом, на этапе объявления движок JavaScript будет рассматривать display как переменную и инициализировать его значением undefined. Когда мы вызываем функцию отображения и регистрируем значение, она выдаст ошибку «отображение не является функцией», потому что во время объявления значение отображения будет неопределенным.

Давайте посмотрим на несколько примеров подъема переменных

Переменный подъем

Использование ключевого слова var

В примере, упомянутом выше, мы регистрируем значение переменной перед ее объявлением. Но здесь этот фрагмент кода не вызывает никаких ошибок. Поскольку объявление переменной будет идти вверх во время фазы объявления, а операторы выполнения (console.log) будут идти вниз. Мы объявляем переменную с помощью ключевого слова var, поэтому на этапе объявления движок JavaScript инициализирует значение переменной неопределенным. Таким образом, вывод приведенного выше кода будет неопределенным.

Использование let и const

Здесь мы используем ключевое слово let для объявления переменной. Таким образом, на этапе объявления движок JavaScript не инициализирует переменную, объявленную с помощью ключевого слова let или const. Таким образом, этот фрагмент кода выдаст ошибку «число не определено».

Заключение

  • Подъем означает перемещение объявления переменных и функций вверх, когда движок JavaScript выполняет код.
  • Когда движок JavaScript выполняет фрагмент кода, он проходит две фазы: объявление и выполнение. Фаза объявления отвечает за подъем.
  • Если вы хотите использовать функцию до ее определения, используйте объявление функции. Потому что, если мы используем выражение функции, движок JavaScript будет рассматривать его как переменную на этапе объявления и выдаст ошибку.
  • Если вы хотите использовать переменную до ее объявления, используйте var, потому что let и const не инициализируются на этапе объявления, и это вызовет ошибку.