Практикуя несколько примеров, я столкнулся следующий пример:Понимание литералов объектов
var foo = {unique_prop: 1};
var bar = {unique_prop: 2};
var object = {};
object[foo] = 'value';
alert(object[bar]);
где создаются два объекта Foo и бар. Я не получаю предупреждение (object [bar]); является «значением». Какая связь здесь между foo и bar.
Кроме того, небольшое изменение даст выход как «неопределенный» в качестве примера ниже.
var foo = {unique_prop: 1};
var bar = {unique_prop: 2};
var object = {};
object["foo"] = 'value';
alert(object[bar]);
По умолчанию []
обозначения можно использовать строки вправо, Арент ["some_property"]
и [some_property]
то же самое?
Ссылка между 'foo' и' bar' заключается в том, что они дают одинаковый результат при нажатии на строку (все ключи свойства) – Bergi
"* arent' ["some_property"] 'и' [some_property] ' то же самое? * "- № – Bergi
Кстати, как преобразование' Object' в примитив регулируется методами 'valueOf' или' toString' (первый имеет приоритет над последним, если оба определены). – ftor