Sobes.tech
Junior — Senior
51

Настройка правильного контекста в функции setTimeout

Task condition

Необходимо изменить реализацию метода delayedGetName1, чтобы внутри него вызов this.getName() корректно получал имя объекта и выводил строку "EPAM".

(() => {
  const obj = {
    name: "EPAM",
    getName() {
      return this.name;
    },
    delayedGetName1() {
      setTimeout(function () {
        console.log("1:", this.getName());
      }, 1000);
    },
    delayedGetName2() {
      setTimeout(() => {
        console.log("2:", this.getName());
      }, 1000);
    }
  };

  obj.delayedGetName1();
  obj.delayedGetName2();
})();