Junior — Middle
JavaScriptте эс тутумду башкаруу жана автоматтык түрдө объекттерди тазалоо кандай ишке ашырылат, түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
JavaScriptте эс тутумду башкаруу автоматтык түрдө калдык чогултуу (garbage collection) механизми аркылуу жүргүзүлөт. Объекттер түзүлгөндө, алар кучада орун алат. Калдык чогултуучу периодик түрдө кайсы объекттер колдонулбай калганын текшерет — башкача айтканда, активдүү коддон шилтемелер жок болсо — жана алардын ээлеген эс тутумун бошотот.
Негизги алгоритм — шилтемелердин санын эсептөө жана жеткиликтүү объекттерди издөө (mark-and-sweep). Мисалы, эгер өзгөрмө объектке шилтеме кылса, ал тирүү деп эсептелет. Шилтемелер жок болуп калса, объект өчүрүү үчүн талапкер болот.
Мисал:
let obj = { name: "test" };
obj = null; // эми объект жеткиликтүү эмес жана калдык чогултуучу тарабынан тазаланат
Ошентип, программист өзү кол менен эс тутумду бошотпойт, бул эс тутумдун агып кетишине байланыштуу каталардын мүмкүнчүлүгүн азайт.