我有一个奇怪的问题箭头功能:
在原型方法(在本例中为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);
答案 0 :(得分:2)
这是undef here
请注意,您的调试工具可能对您不利。 this
实际上会被转换为_this
或类似的内容。您应该查看生成的JavaScript。我可以向你保证,它将_this
(或其所谓的)指向正确的东西。