Использование объекта в качестве ключа свойства в JavaScript

Что происходит в этом коде?

var a = {a:1};
var b = {b:2};
var c = {};

c[a] = 1;
c[b] === 1 // true!

c[b] = 2;
c[a] === 2 // true!

В частности, почему используется поискb вc вернуть значение, которое было сохранено в свойствеa?

Что значит использовать объект как ключ к свойству в JavaScript?

Я проверил это в Chrome / Node и в Firefox.

Ответы на вопрос(2)

Ваш ответ на вопрос