@sutaaliya

Почему неправильный контекст?

Добрый день, подскажите, пожалуйста, почему в данном случае undefined, ведь контекст забинжен?

var a = {
       b: 5,
       getB: () => {
            return this.b
        }
   };
console.log(a.getB()) // undefined
var fn = a.getB;
console.log(fn.bind(a)()) // undefined


И как внутри объекта "a" можно изменить метод getB, не убирая стрелочную функцию, чтобы контекст был правильный?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Alexandre888
@Alexandre888
Javascript-разработчик
у стрелочных функций нету метода .this
используйте обычную функцию:
var a = {
  b: 5,
  getB: function() {
  return this.b
  }
};
console.log(a.getB()) // 5

не убирая стрелочную функцию

var a = {
  b: 5,
  getB: () => a.b
};
console.log(a.getB()) // 5
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект