WeakMap()

ULASHISH

WeakMap() konstruktori

WeakMap() konstruktori WeakMap obyektlarini yaratadi.

WeakMap kalit-qiymat juftliklarini saqlaydi.

Map obyektlaridan farqli ravishda, WeakMap kalitlari obyekt bo‘lishi shart.

WeakMap kalitlari kuchsiz (weak) havola orqali saqlanadi va boshqa joyda ishlatilmay qolganda avtomatik ravishda olib tashlanishi mumkin.

Sintaksis

new WeakMap() new WeakMap(iterable)

Parametrlar

Parametr Tavsif
iterable Ixtiyoriy. Kalit-qiymat juftliklarini o‘z ichiga olgan iteratsiya qilinadigan obyekt.

Qaytariladigan qiymat

Chaqiruv Qaytaradi
new WeakMap() WeakMap obyekti
new WeakMap(iterable) Yozuvlar bilan to‘ldirilgan WeakMap obyekti

WeakMap yaratish

Misol

const wm = new WeakMap();

Faqat obyekt kalitlar

WeakMap kalitlari obyekt bo‘lishi shart.

To‘g‘ri

const person = {}; const wm = new WeakMap(); wm.set(person, "John");

Noto‘g‘ri

const wm = new WeakMap(); wm.set("name", "John"); // Error


WeakMap va Map

WeakMap Map
Kalitlar obyekt bo‘lishi shart Kalitlar istalgan qiymat bo‘lishi mumkin
Iteratsiya qilinmaydi Iteratsiya qilinadimi
size xususiyati yo‘q size xususiyatiga ega
Yozuvlar avtomatik olib tashlanishi mumkin Yozuvlar olib tashlanmaguncha saqlanib qoladi

Keng qo‘llaniladigan metodlar

  • set()
  • get()
  • has()
  • delete()

Eslatma

WeakMap’larda quyidagilar yo‘q:

  • size xususiyati
  • keys() metodi
  • values() metodi
  • entries() metodi
  • forEach() metodi

Iteratsiya qilinmaydi

WeakMap obyektlari iteratsiya qilinmaydi.

WeakMap obyektlarida keys(), values() yoki entries() metodlari yo‘q.


Odatiy qo‘llanilishi

WeakMap obyektlari ko‘pincha ma’lumotlarni obyektlarga, ularning xotiradan o‘chirilishiga to‘sqinlik qilmagan holda bog‘lash uchun ishlatiladi.

Misol

const privateData = new WeakMap(); const person = {}; privateData.set(person, "secret");

Obyektlar iyerarxiyasi

WeakMap obyektlari Object’dan meros oladi.

Object
└─ WeakMap

WeakMap() bo‘yicha savollar

Savol Javob
Konstruktor turi Function
Yaratadi WeakMap obyektlari
Meros oladi Object
Iteratsiya qilinadimi Yo‘q
Obyekt kalitlar talab qilinadi Ha

WeakMap kalitlari obyekt bo‘lishi shart.

WeakMap obyektlari iteratsiya qilinmaydi va size xususiyatiga ega emas.


Map/Set/WeakMap/WeakSet

ObjectKalit-qiymatKalitlarIteratsiya qilinadimi
ObjectHaString/SymbolYo‘q
MapHaIstalgan qiymatHa
WeakMapHaFaqat obyektlarYo‘q
SetFaqat qiymatlarN/AHa
WeakSetFaqat qiymatlarFaqat obyektlarYo‘q



Brauzerlarda qo‘llab-quvvatlash

WeakMap() — ECMAScript6 (ES6 2015) imkoniyati.

JavaScript 2015 2017-yil iyunidan beri barcha brauzerlarda qo‘llab-quvvatlanadi:

Chrome
51
Edge
15
Firefox
54
Safari
10
Opera
38
2016-yil may 2017-yil aprel 2017-yil iyun 2016-yil sentabr 2016-yil iyun


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!