JavaScript đ
July 3
đ JavaScript'da Closure nima?
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()
funksiyasiichki()
funksiyani qaytardi.sir
oâzgaruvchisitashqi()
ichida eâlon qilingan.- Garchi
tashqi()
funksiyasi ishlashni tugatgan boâlsa ham,meningFunksiyam()
hali hamsir
ni eslab turadi. - Bu closure deyiladi â yaâni,
ichki()
funksiyasi oâzining yaratilgan joyidagi oâzgaruvchilarni eslab qoladi.
â Closure nima uchun kerak?
- 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