var z = {};
var a = { a: 1 };
var b = { b: 2 };
z[a] = 3;
z[b] = 4;
console.log(z[a]);
Что выведет консоль?z[a] = 3; и z[b] = 4; добавили в объект z свойство c именем '[object Object]', потому что на этих объектах всякий раз автоматически вызывался метод Object.prototype.toString().