Как создать объект с возрастом и вложенным именем

Значением свойства объекта может быть другой объект. В заданной структуре возраст доступен через person.Age, имя — через person.Name.Name, фамилия — через person.Name.LastName.

Короткий ответ

Что ответить на собеседовании

Значением свойства объекта может быть другой объект. В заданной структуре возраст доступен через person.Age, имя — через person.Name.Name, фамилия — через person.Name.LastName.

Подробный разбор

Ответ с пояснениями

Условие

Создайте на JavaScript объект person: на верхнем уровне Age равен 30, а свойство Name содержит объект с полями Name = 'Анна' и LastName = 'Иванова'. Покажите чтение фамилии и изменение возраста.

Ответ

Значением свойства объекта может быть другой объект. В заданной структуре возраст доступен через person.Age, имя — через person.Name.Name, фамилия — через person.Name.LastName.

const person = {
  Age: 30,
  Name: {
    Name: 'Анна',
    LastName: 'Иванова'
  }
};
console.log(person.Name.LastName); // Иванова
person.Age = 31;
console.log(person.Age); // 31

Повторение имени Name на разных уровнях допустимо, хотя может затруднять чтение. Если структура является внешним контрактом, названия сохраняют. В новом собственном контракте можно выбрать более ясную схему name: { firstName, lastName }, но это будет другая структура, а не альтернативный способ обращения к прежней.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее