გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
რა არის Garbage collection (GC) JavaScript-ში

რა არის Garbage collection (GC) JavaScript-ში

პროგრამირებაში ერთ-ერთი მთავარი მცნებაა Garbage collection (ნაგვის შეგროვება) რაც გულისხმობს კომპიუტერის მეხსიერების მენეჯმენტს.

მოცემული მექანიზმი JavaScript-ში უზრუნველყოფს კომპიუტერის მეხსიერების ავტომატურ გასუფთავებას ისეთი ცვლადების მნიშვნელობებისგან, რომელიც აღარაა საჭირო პროგრამის ფუნქციონირებისთვის.

პროგრამირების ზოგიერთ ენას მაგალითად როგორიცაა დაბალი დონის ენები, აუცილებელია მსგავსი ოპერაციის პოროგრამისტის მიერ მენეჯმენტი, რაც შეეხება JavaScript-ს აქ მეხსიერების გასუფთავება ხდება ავტომატურად.

აუცილებელია გვქონდეს კარგი წარმოდეგენა თუ როგორ მუშაობს ჯავასკრიპტის Garbage collection, რათა ავიცილოთ მეხსიერების გაჟონვები (memory leaks).

მეხსიერების გამოყოფა (Allocation in JavaScript)

ჯავასკრიპტი ავტომატოურად გამოყოფს მეხსიერებას მაშინ, როდესაც ჩვენ ახალ ცვლადს, ფუნქციას, ან ობიექტს ვანიჭებთ მნიშვნელობას

const x = 456; // გამოყოფს მეხსიერებას რიცხვისთვის
const t = "ტექსტი"; // გამოყოფს მეხსიერებას სტრინგისთვის

const obj = {
  c: 2,
  d: null,
}; // გამოყოფს მეხსიერებას ობიექტისთვის და მასში არსებული მნიშვნელობებისთვის

// გამოყოფს მეხსიერებას მასივისთვის და მასში არსებული მნიშვნელობებისთვის
const arr = [2, null, "ტექსტი2"];

function g(c) {
  return c * 3;
}

someElement.addEventListener(
  "click",
  () => {
    someElement.style.backgroundColor = "red";
  },
  false,
);

მეხსიერების გამოყოფა ფუნქციის გამოძახებით

ზოგიერთი ფუნქციის გამოძახება გამოყოფს მეხსიერებას

const t = new Date(); // გამოყოფს Date ობიექტს
const el = document.createElement("span"); // გამოყოფს DOM ელემენტს

ასევე ზოგიერთი მეთოდის გამოყენებით

const str = "ტექსტი";
const str2 = str.substr(0, 4); // str2 არის ახალი სტრინგი

const arr1 = ["დიახ დიახ", "არა არა"];
const arr2 = ["გენერაცია", "არა არა"];
const arr3 = arr1.concat(arr2);
// ახალი მასივი 4 ელემენტით,
// რომელიც წარმოადგენს arr1 და arr2 ელემენტების გაერთიანებას.

მეხსიერების გათავისუფლება, როდესაც ის აღარ არის საჭირო

მეხსიერების მართვის პრობლემების უმეტესობა სწორედ ამ ეტაპზე ხდება. ყველაზე რთული ამოცანაა განსაზღვრა, როდის აღარ არის საჭირო გამოყოფილი მეხსიერება.

დაბალი დონის ენებში პროგრამისტმა უნდა განსაზღვროს, პროგრამის რომელ ეტაპზე აღარ არის საჭირო მეხსიერება და გაათავისუფლოს იგი.

მაღალი დონის ზოგიერთი ენა, როგორიცაა JavaScript, იყენებს ავტომატური მეხსიერების მართვის მექანიზმს, რომელიც ცნობილია როგორც ნაგვის შემგროვებელი (Garbage Collector - GC). ნაგვის შემგროვებლის მიზანია მეხსიერების მონიტორინგი, განსაზღვრა, როდის აღარ არის საჭირო გამოყოფილი მეხსიერების ბლოკი და მისი დაბრუნება.

კურსები პროგრამირების შესახებ

HTML, CSS-ის სა...

HTML, CSS-ის საწყისი კურსი, დამწყებთათვის (deprecated - მოძველებული)

ჯავასკრიპტის (J...

ჯავასკრიპტის (Javascript) უფასო კურსი დამწყებთათვის

JavaScript-ის D...

JavaScript-ის DOM-ის კურსი დამწყებთათვის

TypeScript-ის კ...

TypeScript-ის კურსი დამწყებთათვის

Angular-ის კურს...

Angular-ის კურსი დამწყებთათვის

ეთიკური ჰაკინგი...

ეთიკური ჰაკინგის კურსი

HTML, CSS-ის კუ...

HTML, CSS-ის კურსი დამწყებთათვის

Reactjs-ის კურს...

Reactjs-ის კურსი დამწყებთათვის

ალგორითმები...

ალგორითმები

Node.js-ის უფას...

Node.js-ის უფასო კურსი დამწყებთათვის

Dart-ის კურსი დ...

Dart-ის კურსი დამწყებთათვის

უახლესი ბლოგები პროგრამირებაზე

რა არის Garbage...

რა არის Garbage collection (GC) JavaScript-ში

Nginx-ის ინსტალ...

Nginx-ის ინსტალაცია Macintosh-ზე

ინგლისური ენის ...

ინგლისური ენის მნიშვნელობა პროგრამირების სამყაროში

როგორ ავაჩქაროთ...

როგორ ავაჩქაროთ საიტი, loading ატრიბუტის დახმარებით