cover
JavaScriptJavascript interviewInterviewHoisting

JavaScriptda Hoisting

Summary
Top JavaScript interview savollarida tushadigan va kerakli mavzulardan biri bo’lgan JavaScriptda Hoisting tushinchasi haqida gaplashib o’tamiz.
Category
JavaScript
Javascript interview
Interview
Hoisting
Cover
https://utfs.io/f/39133f1f-9f81-40b3-b445-2ca4bd1b0491-8mwav5.png
Slug
javascript-hoisting
Date
author
Published
Published
Assalomu Alekum.
Bugun yana bir muhim bo’lgan mavzu JavaScriptda Hoisting tushinchasini ko’rib chiqamiz.

JavaScriptda Hoisting:

bu o'zgaruvchilar (var, let, const) va funksiyalar deklaratsiyalarini qaysidir ma'noda "ko'tarish" jarayoni. Bu degani, deklaratsiyalar kodda ishlatilishidan oldin, kompilyatsiya vaqtida ko'tariladi.
JavaScriptda hoisting tufayli, siz o'zgaruvchilarni ularni e'lon qilishdan oldin ishlatishingiz mumkin, ammo bu holatda o'zgaruvchiga qiymat berishdan oldin u undefined qiymatini oladi.

Misol:

console.log(x); // undefined var x = 5; console.log(x); // 5
Yuqoridagi kodda var x o'zgaruvchisi deklaratsiyasi hoisting tufayli yuqoriga "ko'tariladi", lekin unga qiymat berish jarayoni o'z joyida qoladi. Shuning uchun birinchi console.log(x) undefined qiymatini chiqaradi.

Hoistingni aniqlash

Yuqoridagi misol shunday ko'rinadi:
var x; console.log(x); // undefined x = 5; console.log(x); // 5

Funksiyalar bilan Hoisting

Funksiya deklaratsiyalari ham hoistingga duch keladi. Bu degani, siz funksiyalarni e'lon qilishdan oldin chaqirishingiz mumkin.
sayHello(); // "Hello, world!" function sayHello() { console.log("Hello, world!"); }
Bu kodda sayHello funksiyasi hoisting tufayli yuqoriga ko'tariladi, shuning uchun uni e'lon qilishdan oldin ham chaqirishingiz mumkin.

Let va Const bilan Hoisting

let va const bilan e'lon qilingan o'zgaruvchilar ham hoistingga uchraydi, lekin ular "Temporal Dead Zone" (TDZ) deb ataladigan fazoda bo'ladi. Bu o'zgaruvchilar o'z joyida hoisting qilinadi, lekin ularga qiymat berilmaganligi sababli ularni ishlatishga urinish xatoga olib keladi.
console.log(y); // ReferenceError: Cannot access 'y' before initialization let y = 10;
Bu holatda y o'zgaruvchisi hoisting qilinadi, lekin u TDZda bo'lgani uchun uni ishlatishga urinish xatoga olib keladi.
Xulosa: Hoisting JavaScriptning asosiy xususiyatlaridan biri bo'lib, deklaratsiyalarni kodning yuqorisiga "ko'tarilishiga" sabab bo'ladi. Ammo, bu xatti-harakatni tushunib, kodni aniq va tushunarli yozish muhimdir.
 
E’tiboringiz uchun raxmat!.
Orqaga

O'xshash Maqolalar

Anvarbek Dev © 2024 Barcha huquqlar himoyalangan.