Use the call() method in the same object without arguments:
const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function (city, country) {
          console.log(`${this.name} is a programmer, his age is ${this.age}.`);
        },
      },
};
person.student.purchase.call(person);
// Result: Robert is a programmer, his age is 23.
Use the call() method in the same object with arguments:
const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function (city, country) {
          console.log(
            `${this.name} is a programmer, his age is ${this.age}. He lives in ${city}, ${country}.`,
          );
        },
      },
};
person.student.purchase.call(person, "Dhaka", "Bangladesh");
// Result: Robert is a programmer, his age is 23. He lives in Dhaka, Bangladesh.
Use apply() method in the same object without arguments:
const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function () {
          console.log(`${this.name} is a programmer, his age is ${this.age}.`);
        },
      },
    };
    person.student.purchase.apply(person);
    // Result: Robert is a programmer, his age is 23.
Use apply() method in the same object with arguments:
const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function (city, country) {
          console.log(
            `${this.name} is a programmer, his age is ${this.age}. He lives in ${city}, ${country}.`,
          );
        },
    },
};
person.student.purchase.apply(person, ["Dhaka", "Bangladesh"]);
// Result: Robert is a programmer, his age is 23. He lives in Dhaka, Bangladesh.
Use the bind() method in the same object without arguments:
const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function () {
          console.log(`${this.name} is a programmer, his age is ${this.age}.`);
        },
      },
};
const bindResult = person.student.purchase.bind(person);
bindResult();
// Result: Robert is a programmer, his age is 23.
Use the bind() method in the same object with arguments:
 const person = {
      name: "Robert",
      age: 23,
      color: "black",
      student: {
        name: "Elton",
        age: 25,
        purchase: function (city, country) {
          console.log(
            `${this.name} is a programmer, his age is ${this.age}. He lives in ${city}, ${country}`,
          );
        },
      },
};
const bindResult = person.student.purchase.bind(person, "Dhaka", "Bangladesh");
bindResult();
// Result: Robert is a programmer, his age is 23. He lives in Dhaka, Bangladesh.
 
Post a Comment