}, 23)
getMap.get({ a: 1 }) почему когда я по ключу-объекту пытаюсь получить значение, 23 не возвращается?
потому что это разные объекты
т.е. там когда я обращаюсь к объекту-ключу внутри мапа, я обращаюсь не объекту а к ссылке?
как и всегда, когда ты сравниваешь объекты
как сравниваются объекты в джсе?
const a = { field: 1 } const b = { field: 1 } a === b // false
по ссылке, это понятно, и только сравнение двух ссылок на один и тот же объект вернет тру, только теперь вопрос, как мне получить доступ к ключу {a: 1}, в мапе чтобы вернуть 23?
запихать это куда-то и по ссылке юзать
const getMap = new Map() const o = { a: 1 } getMap.set(o, 23) getMap.get(o)
либо ещё проще Symbol юзать
Обсуждают сегодня