class Person { constructor (name, score) { this.name = name this.score = score } } const alice_foo = new Person('Alice', 10) const alice_bar = new Person('Alice', 50) const people_object = {} people[alice_foo.name] = alice_foo.score people[alice_bar.name] = alice_bar.score console.log(people[alice_foo.name] === alice_bar.score) // Oops! true const people_map = new Map() people.set(alice_foo, alice_foo.score) people.set(alice_bar, alice_bar.score) console.log(people.set(alice_foo).score === alice_foo.score) // Correct!