0

В чем отличие контекста function и стрелочной функции?
Почему, если изменить метод logInfo таким образом, то ничего не получим?

logInfo: () => {
    console.log(`Name is ${this.name}`);
}

function hello() {
  console.log('Hello', this);
}

const person = { name: 'Misha', age: 20, sayHello: hello.bind(document), logInfo: function() { console.log(Name is ${this.name}); } };

person.logInfo();

  • 1
    Не поверите, но this в стрелочных функциях не передаётся. Вернее ссылается на window. – Quazimorda Mar 10 '20 at 13:01
  • 1
    @Quazimorda, Arrow Functions lexically bind their context so this actually refers to the originating context. – NeedH8 Mar 10 '20 at 13:50
  • @NeedHate, всё верно, но как это противоречит тому, что this для стрелочной функции, ссылается на window? – Quazimorda Mar 10 '20 at 14:22
  • @Quazimorda всегда ссылается на window? – Stepan Kasyanenko Mar 10 '20 at 14:28
  • @StepanKasyanenko Ну, не всегда, конечно, но в данном конкретном случае - да. )) – Quazimorda Mar 10 '20 at 14:30

0 Answers0