JavaScript WeakMap.delete() — відв'язати дані від об'єкта
Метод delete() видаляє запис для цього об'єкта й повертає true, якщо запис був.
Загальний опис
Виникає розумне питання: навіщо він узагалі, якщо збирач сміття прибирає все сам?
Потрібен тоді, коли об'єкт живий, а прив'язані дані вже ні: віджет знищили, але сам елемент лишається на сторінці. Автоматичне прибирання тут не спрацює — на елемент усе ще посилається DOM.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| delete | 36+ | 6+ | 8+ | 23+ | 12+ | 11+ |
| Переглядач | ||||
|---|---|---|---|---|
| delete | 36+ | yes | yes | 8+ |
Приклади
+ запропонувати свій приклад у пісочниці
Знищення віджета: елемент лишається, стан прибираємо.
const state = new WeakMap();
function destroy(element) {
element.removeEventListener('click', onClick);
// елемент лишається на сторінці — стан прибираємо явно
state.delete(element);
}
Коментарі
Коментарів ще немає — будьте першим!