WeakSet()
WeakSet() konstruktori
WeakSet() konstruktori WeakSet obyektlarini yaratadi.
WeakSet noyob obyektlarni saqlaydi.
Set obyektlaridan farqli ravishda, WeakSet qiymatlari obyekt bo‘lishi shart.
WeakSet qiymatlari kuchsiz (weak) havola orqali saqlanadi va boshqa joyda ishlatilmay qolganda avtomatik ravishda olib tashlanishi mumkin.
Sintaksis
new WeakSet()
new WeakSet(iterable)
Parametrlar
| Parametr | Tavsif |
|---|---|
| iterable | Ixtiyoriy. Obyektlarni o‘z ichiga olgan iteratsiya qilinadigan obyekt. |
Qaytariladigan qiymat
| Chaqiruv | Qaytaradi |
|---|---|
new WeakSet() |
WeakSet obyekti |
new WeakSet(iterable) |
Qiymatlar bilan to‘ldirilgan WeakSet obyekti |
WeakSet yaratish
Misol
const ws = new WeakSet();
Faqat obyekt qiymatlar
WeakSet qiymatlari obyekt bo‘lishi shart.
To‘g‘ri
const person = {};
const ws = new WeakSet();
ws.add(person);
Noto‘g‘ri
const ws = new WeakSet();
ws.add("John"); // Error
WeakSet va Set
| WeakSet | Set |
|---|---|
| Qiymatlar obyekt bo‘lishi shart | Qiymatlar istalgan tipda bo‘lishi mumkin |
| Iteratsiya qilinmaydi | Iteratsiya qilinadimi |
| size xususiyati yo‘q | size xususiyatiga ega |
| Qiymatlar avtomatik olib tashlanishi mumkin | Qiymatlar olib tashlanmaguncha saqlanib qoladi |
Noyob qiymatlar
WeakSet noyob obyektlarni saqlaydi.
Bitta obyektni bir necha marta qo‘shish hech qanday ta’sir qilmaydi.
Misol
const person = {};
const ws = new WeakSet();
ws.add(person);
ws.add(person);
Keng qo‘llaniladigan metodlar
add()has()delete()
Iteratsiya qilinmaydi
WeakSet obyektlari iteratsiya qilinmaydi.
WeakSet obyektlarida keys(), values(), entries() yoki forEach() yo‘q.
WeakSet qiymatlari obyekt bo‘lishi shart.
WeakSet obyektlari iteratsiya qilinmaydi va size xususiyatiga ega emas.
Odatiy qo‘llanilishi
WeakSet obyektlari ko‘pincha obyektlarni, ularning xotiradan o‘chirilishiga to‘sqinlik qilmagan holda kuzatib borish uchun ishlatiladi.
Misol
const visited = new WeakSet();
const person = {};
visited.add(person);
Obyektlar iyerarxiyasi
WeakSet obyektlari Object’dan meros oladi.
Object └─ WeakSet
| Savol | Javob |
|---|---|
| Konstruktor turi | Function |
| Yaratadi | WeakSet obyektlari |
| Meros oladi | Object |
| Iteratsiya qilinadimi | Yo‘q |
| Obyekt qiymatlar talab qilinadi | Ha |
Brauzerlarda qo‘llab-quvvatlash
WeakSet() — 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!
