Sobes.tech
Junior — Senior
32

Как this работает в методах класса и обычного объекта

Условие задачи

Нужно предсказать, что появится в консоли при вызове методов say и say2 у экземпляра класса и у простого объекта. Учтите различия между стрелочными функциями и обычными функциями.

class Animal {
  sound = 'meow';
  say = () => {
    console.log(this.sound);
  };
  say2() {
    console.log(this.sound);
  }
}

const objCat = {
  sound: 'meow',
  say: () => {
    console.log(this.sound);
  },
  say2: function () {
    console.log(this.sound);
  }
}

const catObj = new Animal();
catObj.say();     // ?
catObj.say2();    // ?
objCat.say();   // ?
objCat.say2();  // ?