JavaScript: кошки и собаки
как получить свойство объекта в JavaScript
Как получить значение свойства объекта в JavaScript?
let dog = {name: "Rex", age: 2, size: "big"},
cat = {name: "Tom", age: 5, big: false};
console.log(cat[dog.size]);
Что выведет консоль после исполнения такого кода? Сколько ошибок мы получим в результате?
Для обращения к значениям свойств объектов в JavaScript есть два способа.
При помощи точки:
let dog = { name: 'Rex', age: 2, size: 'big' };
console.log(dog.name); // Rex
console.log(dog.age); // 2
console.log(dog.size); // big
Используя квадратные скобки:
let cat = { name: 'Tom', age: 5, big: false };
console.log(cat['name']); // Tom
console.log(cat['age']); // 5
console.log(cat['big']); // false
В последнем случае мы обращаемся к свойствам, как к простым строчным значениям, заключенным в квадратные скобки.
Теперь вернемся к нашей задаче.
console.log(cat[dog.size]); // false
То есть, мы обращаемся к свойству объекта cat
. Строка заключенная в квадратные скобки равна big
, а значит мы получаем следующее выражение:
console.log(cat['big']); // false
Это то же, что и:
console.log(cat.big); // false
Таким образом, в консоли мы увидим строку false
, соответствующую значению свойства big
объекта cat
. Никаких ошибок в данном коде нет.
Спасибо за внимание.