WeakMap. В чем особенность? Какие свойства и методы есть? Как перебрать?
Чем WeakMap отличается от Map?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
5
Сложность:
8
WeakMap — это коллекция пар ключ-значение, где ключи могут быть только объектами, а значения могут быть любого типа. Главная особенность WeakMap заключается в том, что он не удерживает сильные ссылки на ключи, что позволяет сборщику мусора автоматически очищать элементы, если на них больше нет ссылок. У WeakMap есть методы set(), get(), has() и delete(), однако его нельзя перебрать с помощью обычных методов, так как WeakMap не предоставляет итераторов.
Рейтинг:
5
Сложность:
6
WeakMap отличается тем, что его ключи могут быть только объектами, и они хранятся как слабые ссылки. Если на объект-ключ больше нет сильных ссылок, он удаляется сборщиком мусора вместе со значением. В WeakMap нельзя итерироваться по элементам и узнать размер. Map таких ограничений не имеет и удерживает данные в памяти.