Hoisting Швидше за все інтервʼю вам буде проводити людина вже | Web Overflow 🇺🇦
Hoisting
Швидше за все інтервʼю вам буде проводити людина вже з великим досвідом. І може вийти так, що це буде “олд“ Javascript’а з мільйоном років досвіду. А починав він кодити на ньому ще коли не було класів, const і let, і інших функцій. І так як він ще користувався var, він запитає вас про hoisting.
Тож, що таке hoisting?
Hoist в перекладі з англійської - підйомник. Виходить, що hoisting - це підняття. А у Javascript - це механізм підняття вверх оголошення функцій (оголошених через function) і змінних (оголошених через var).
Набагато краще просто один раз побачити. Якщо напишете такий код:
console.log(x);
var x = 3;
У ньому не буде помилки, адже Javascript буде бачити отаке:
var x;
console.log(x);
x = 3;
Важливо помітити те, що піднялось тільки оголошення, а присвоєння лишилось на своєму місці. Те саме виконується і з функціями. Тому виходить так, що можна викликати функцію ще до її оголошення.
Зараз, я вважаю, це погана практика, яка може збивати з пантелику. Тому можна додати "use strict", який трохи обмежить такі "фічі" Javascript.
Детальні можете глянути тут - читати статтю
#interview