Предпосылка неполна: современные WeakMap допускают объекты и незарегистрированные символы, которые могут удерживаться слабо.
Чем вызвано ограничение WeakMap на использование только объектов в качестве ключей?
Предпосылка неполна: современные WeakMap допускают объекты и незарегистрированные символы, которые могут удерживаться слабо.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Предпосылка неполна: современные WeakMap допускают объекты и незарегистрированные символы, которые могут удерживаться слабо.
Такие ключи имеют идентичность, и таблица не должна препятствовать их сборке. Строки и числа можно воспроизвести по значению, поэтому для них нет нужной семантики слабой идентичности; Symbol.for также не подходит.
Источник: developer.mozilla.org.