friend.sayHello = person.sayHello;


I will paste my code below, but I am a little confused about what the “friend.sayHello = person.sayHello” is doing. Any pointers would be great.

let person = {
  name: 'Tyron',
  age: 40,
  weekendAlarm: 'No alarms needed',
  weekAlarm: 'Alarm set to 7AM',
  sayHello: function() {
    return `Hello, my name is ${}`;
  sayGoodbye() {
    return 'Goodbye!';

let friend = {
  name: 'Chris',
friend.sayHello = person.sayHello;


person.hobbies = ['Basketball', 'Coaching'];
person.hobbies = ['Basketball'];


let day = 'Tuesday';
let alarm;

if (day === 'Saturday' || day === 'Sunday' ) {
  alarm = 'weekendAlarm';
} else {
  alarm = 'weekAlarm';


our person object has a method named sayHello, now we want to add the same method to our friend object, instead of re-writing the whole method, we simply assign the sayHello method of person object to friend object, given the method the same name in the process, we could also do:

let friend = {
  name: 'Chris',
friend.anotherName = person.sayHello;

maybe demonstrating with a function is easier, console.log() is very long to write so we could do:

a = console.log
a("hello world")

we just created another function, assigning it an already existing function

1 Like

OK. That makes sense. I can use methods within an object, on other objects. I would assume this is practical if the method is lengthy and confusing.

Are you saying I can set a variable like “a” to be my console.log so that I dont have to type it out every time? Is this good practice in real life application?

Thanks a bunch for the quick response.

no, you can add a method from one object to another object. Then you can use the newly added method to the object to which you added, this is why i showed the function, you can create a duplicate of a function, by simply assigning it.

no, absolutely not. Its just to show how functions can be copied to a new variable

1 Like