@senchkim
Junior Frontend

Не понимаю пока еще работу с this, что тут надо сделать?

В программе объявлены объекты pet_1 и pet_2. Напишите функцию getName() и присвойте ее объектам pet_1 и pet_2 в качестве метода. При вызове метода getName() он должен вернуть имя и возраст питомца через пробел. Решить задачу необходимо с использованием this.

Пример значений переменных:

pet_1 = { 
    name: "Шарик", 
    age: 10 
};

pet_2 = { 
    name: "Жучка", 
    age: 5
};
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
pet_1 = { name: "Шарик", age: 10 };
pet_2 = { name: "Жучка", age: 5 };

function getName() {
  return [this.name, this.age].join(' ');
}

pet_1.getName = getName;
pet_2.getName = getName;

pet_1.getName(); // Шарик 10
pet_2.getName(); // Жучка 5


Или вот раздача бесплатных примесей (mixin) через Object.assign():
mixin
pet_1 = { name: "Шарик", age: 10 };
pet_2 = { name: "Жучка", age: 5 };

function getName() {
  return [this.name, this.age].join(' ');
}

const mixin = { getName };

Object.assign(pet_1, mixin);
Object.assign(pet_2, mixin);

pet_1.getName(); // Шарик 10
pet_2.getName(); // Жучка 5
Подготовить объект с единственным свойством "getName" в котором лежит одноимённая функция. Скопировать все свойства (в данном случае одно) этого объекта поверх существующих свойств объектов pet_1 и pet_2 с помощью Object.assign().
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы