const collection = new WeakSet()
collection.add({age: 100})
collection.has({age: 100}) // false
Почему false? И как мне найти объект, если их будет много? Причем в Set() и Map() тоже самое. Если добавлять вместо объектов примитивные типы - то true
Проверка происходит по ссылке не для примитивов.
А вы каждый раз передаете новый объект ( ссылку ), поэтому у вас false. Если делать все через переменную, то все ок
const collection = new WeakSet()
const data = {age: 100}
collection.add(data)
console.log(collection.has(data)) // true
Сборка персонального компьютера от Artline: умный выбор для современных пользователей