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