Sobes.tech
Middle

Что аст closure? Мебошед метавонед шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Баста — бу, яратилган лексикал муҳит билан бирга бўлган функция. Бу, функциянинг ташқи муҳитдаги ўзгарувчиларни 'эслоётгани'ни англатади, ҳатто бу ташқи функция аллақачон тугатилган бўлса ҳам.

JavaScriptда мисол:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Бу ерда, ички функция makeCounter ташқи функциясининг count ўзгарувчисига киришни сақлайди ва шундай қилиб, ёпилиш (closure) яратади. Бу, функция чақиришлари орасида ҳолатни сақлашга имкон беради.