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_object[alice_foo.name] = alice_foo.score people_object[alice_bar.name] = alice_bar.score console.log(people_object[alice_foo.name] === alice_bar.score) // Oops! true const people_map = new Map() people_map.set(alice_foo, alice_foo.score) people_map.set(alice_bar, alice_bar.score) console.log(people_map.get(alice_foo) === alice_foo.score) // Correct! true