WeakMap и WeakSet: понимание слабых ссылок JavaScript
Слабые ссылки не часто используются в JavaScript из-за того, как устроен язык. Однако в определенных обстоятельствах они могут оказаться жизненно важными, например, когда разработчикам необходимо хранить дополнительные данные и автоматически управлять использованием памяти.