Мои задачи по Javascript
Случайная задача
Список всех задач

Задача 20

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

z[a] = 3;
z[b] = 4;

console.log(z[a]);
Что выведет консоль?
1
2
3
4
5
← Задача 19Задача 21 →
Пояснение Объекты в JavaScript в качестве имени свойства могут иметь только тип String или тип Symbol. Плюс ещё есть свойства с доступом по индексу, т.е. по числу, но это тоже строки, просто к таким свойствам нельзя через точку обращаться. Рекомендую: Working with objects на MDN.
В задаче все свойства внутри квадратных скобок автоматически преобразуются в тип String.

Строки z[a] = 3; и z[b] = 4; добавили в объект z свойство c именем '[object Object]', потому что на этих объектах всякий раз автоматически вызывался метод Object.prototype.toString().



Написать сообщение - отзыв, пожелание и т.п.