@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, не убирая стрелочную функцию, чтобы контекст был правильный?
  • Вопрос задан
  • 60 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 13:07
7000 руб./за проект
07 мая 2024, в 12:59
500 руб./за проект
07 мая 2024, в 12:58
25000 руб./за проект