Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Объекты, как индексы (https://javascript.ru/forum/misc/6382-obekty-kak-indeksy.html)

Diem 26.11.2009 02:18

Объекты, как индексы
 
Интересно узнать, если я использую в качестве ключей - объекты.
a = {
    x: 10,
    y: 20
}

b = {}
b[a] = ....

То на практике ключ хранится в виде адреса объекта a, не сам объект ?

Octane 26.11.2009 03:14

Цитата:

Сообщение от Diem
если я использую в качестве ключей - объекты.

Ключ (имя свойства объекта в JavaScript) всегда является строкой.
Когда вы пытаетесь создать свойство, указав в аксессоре переменную с ссылкой на объект, то автоматически вызывается метод toString:
var a = {};
alert(a.toString());

Соответственно свойства будут перезаписываться:
var obj = {};

var a = {};

obj[a] = 1; // тоже самое, что obj["[object Object]"] = 1

alert(obj[a]); // 1

var b = {};
obj[b] = 2; // тоже самое, что obj["[object Object]"] = 2

alert(obj[a]); // 2


Часовой пояс GMT +3, время: 13:58.