JavaScript 📜
July 3

🔐 JavaScript'da Closure nima?

Closure bu:

Ichki funksiya tashqi funksiyada e’lon qilingan o‘zgaruvchilarni eslab qoladigan funksiyadir — hatto tashqi funksiya ishlashni tugatgan bo‘lsa ham.

Ya’ni, funksiya o‘zining atrofidagi (leksik) muhitni “yopib oladi” va eslab qoladi.

function tashqi() { let sir = "Men yashirinman";

return function ichki() { console.log(sir); }; }

const meningFunksiyam = tashqi(); meningFunksiyam(); // 👉 "Men yashirinman"

🧠 Bu yerda nima bo‘ldi?

  • tashqi() funksiyasi ichki() funksiyani qaytardi.
  • sir o‘zgaruvchisi tashqi() ichida e’lon qilingan.
  • Garchi tashqi() funksiyasi ishlashni tugatgan bo‘lsa ham, meningFunksiyam() hali ham sirni eslab turadi.
  • Bu closure deyiladi – ya’ni, ichki() funksiyasi o‘zining yaratilgan joyidagi o‘zgaruvchilarni eslab qoladi.

✅ Closure nima uchun kerak?

Closure yordamida siz:

  • Maxfiy o‘zgaruvchilar yaratishingiz mumkin (masalan: count degan o‘zgaruvchi)
  • Fabrik funktsiyalar tuzishingiz mumkin
  • Funksiyalar ichida holatni saqlab turish mumkin
  • React hooklar (masalan, useState) ichida keng qo‘llaniladi

🎯 Xulosa:

  • Closure bu – funksiya va u yaratilgan joydagi o‘zgaruvchilarni eslab qolish qobiliyati.
  • Tashqi funksiyadan qaytarilgan funksiya ichki o‘zgaruvchilarni ishlatsa – bu closure hisoblanadi.
  • JavaScript va ayniqsa React dasturlashda juda muhim.