Get Mystery Box with random crypto!

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