没有箭头功能的Typescript / Angular2委托

时间:2019-02-28 10:28:28

标签: angular typescript delegates

为什么打字稿委托结果不等于:

[(9, 12), (12, 15), (15, 18) ...]

为什么?

1 个答案:

答案 0 :(得分:2)

区别在于箭头功能。如果您使用箭头功能=>,它将this绑定到该功能。

以您的情况

this.array.forEach(item => this.someActionsWithItems(item));

等于

this.array.forEach(this.someActionsWithItems.bind(this));

您可以参考 https://www.w3schools.com/js/js_function_closures.asp

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions