JavaScript - унікальні особливості змінних (частина 1)!!!!
Під час написання коду на JavaScript часто виникають неочікувані помилки, пов’язані з використанням змінних. Ці помилки зазвичай пов’язані з Hoisting та Temporal Dead Zone (TDZ). У цьому пості я коротко розгляну саме процес hoisting.
Що таке Hoisting?
Hoisting — це процес автоматичного підняття змінних та функцій в JavaScript. Зазвичай, код на JavaScript читається зверху вниз. Уявіть, що ви створили нову змінну на 10-му рядку і викликаєте її на 8-му. У такому випадку у консолі JavaScript ви побачите результат undefined
. Чому? Тому що в процесі Hoisting піднімається лише назва змінної, але її значення не піднімається.
Чому undefined
?
В процесі hoisting JavaScript піднімає лише ім’я змінної, а не її значення. Якщо змінна не оголошена, JavaScript призначає їй значення undefined
. Тому, наприклад, коли ви використовуєте змінну, оголошену через let b;
, при її виклику результат буде undefined
.
приклад коду : ))
console.log(a); // undefined
var a = 5;
console.log(a); // 5
Тут змінна a
на першому виклику console.log
повертає значення undefined
, оскільки її значення ще не присвоєно. Але на другому виклику console.log
значення вже присвоєно, тому результатом буде 5
.
dilshoddev #hoisting #javascript #dilshodabdullayev
Перекладено з: Hoisting.