`this` не привязан в методе-прототипе

У меня есть странная проблема с функцией стрелки:

Предполагается, что функции-стрелки имеют контекст этой границы в методе-прототипе (в данном случае в методе класса es6), но в этом случае "this" не определено внутри 1-й лямбды

 apply(bookings) {
    if (!bookings.length) {
      return
    }
    bookings.forEach(booking=> {

  //this is undef here

      let matchingTimeSlot = this.timeSlots.find(item=>item.bookingDate.isSame(booking.bookingDate))
    })

apply вызывается из другого класса es6:

this.days[i].apply(currentDaysBookings);

1 ответ

Решение

это не здесь

Пожалуйста, обратите внимание, что ваши инструменты отладки могут лгать вам. this будет на самом деле доставляется в _this или что-то типа того. Вы должны посмотреть на сгенерированный JavaScript. Я могу заверить вас, что это будет иметь _this (или как там это называется), указывая на правильную вещь.

Другие вопросы по тегам