`this`没有被原型方法约束

时间:2016-03-19 13:39:45

标签: javascript ecmascript-6 babeljs arrow-functions stealjs

我有一个奇怪的问题箭头功能:

在原型方法(在本例中为es6类方法)中,箭头函数应该具有此边界的上下文,但在这种情况下,' this'在第一个lambda中是undef

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

  //this is undef here

      let matchingTimeSlot = this.timeSlots.find(item=>item.bookingDate.isSame(booking.bookingDate))
    })
从另一个es6类调用

apply

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

1 个答案:

答案 0 :(得分:2)

  

这是undef here

请注意,您的调试工具可能对您不利。 this实际上会被转换为_this或类似的内容。您应该查看生成的JavaScript。我可以向你保证,它将_this(或其所谓的)指向正确的东西。