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

Давайте посмотрим на код ниже:

function sumFunction(a, b){
 return a + b;
}
const sumArrowFunction = (a , b ) => a + b
console.log(sumFunction(1, 2))
console.log(sumFunction(3, 4))

В JavaScript весь код выполняется сверху вниз, поэтому мы определили здесь 2 функции, затем выводим их из логирования, результаты простые 3 и 7, верно?

Но если вы какое-то время использовали JavaScript, то обнаружите, что если переместить первую функцию вниз, вот так:

const sumArrowFunction = (a , b ) => a + b
console.log(sumFunction(1, 2))
console.log(sumFunction(3, 4))
function sumFunction(a, b){
 return a + b;
}

Все по-прежнему работает, хотя и выглядит странно, не так ли? В JavaScript это называется подъемом. Он перемещает часть вашего кода и автоматически помещается в начало файла. В этом случае JavaScript поместит sumFunction в начало файла перед запуском, чтобы он был определен.

Все станет странно, если вы сделаете это с помощью функции стрелки следующим образом:

console.log(sumFunction(1, 2))
console.log(sumFunction(3, 4))
function sumFunction(a, b){
 return a + b;
}
const sumArrowFunction = (a , b ) => a + b

Как только вы запустите код, вы заметите, что вы не можете вызвать sumArrowFunction до его инициализации. Почему это? Дело в том, что только обычная функция с ключевым словом function будет поднята, а другие функции, использующие let или const, не будут подняты.

Функция — не единственное, что поднимается в JavaScript, теперь давайте перейдем к поднятию переменных, вот пример:

console.log(num);
var num = 2;

Итак, num не является функцией, но когда вы запускаете код, он работает, но значение равно undefined. Потому что переменные с ключевым словом var тоже будут подняты, а let и const — нет. Переменные с ключевым словом var будут созданы как var someVar = undefined в верхней части файла, и везде, где определена переменная, она просто устанавливает значение переменной.
Помните: только ключевое слово var поднимает инициализацию переменная

К счастью для вас, в наши дни почти никто не использует ключевое слово var на практике, только в каверзных вопросах на собеседовании. Так что просто помните о концепции Подъема, ха-ха

Последние слова

Хотя мой контент бесплатен для всех, но если вы найдете эту статью полезной, вы можете купить мне кофе здесь