【发布时间】:2016-04-14 07:05:06
【问题描述】:
谁能给我简单介绍一下这个词法?
“箭头函数表达式(也称为胖箭头函数)与函数表达式相比语法更短,并且在词法上绑定了 this 值(不绑定自己的 this、arguments、super 或 new.target)。箭头函数总是匿名的。”
这是否意味着当我使用“Fat Arrow”函数中的“this”引用调用函数成员时,“this”总是指封闭的“this”?
【问题讨论】:
-
是的,箭头函数中的
this与创建箭头函数的上下文具有相同的值。 -
可以说您在该侦听器中有点击侦听器您正在执行一些 ajax 操作,例如 setTimeout。时间完成后,回调中的代码将被执行。在该回调中,您可能已经访问了它更改单击按钮的颜色。但是由于 ajax 操作,控件将脱离该上下文。所以您无法访问 this.so es6 引入了箭头函数来修复 tat 问题
-
This post from @getify 是关于所谓的 lexical
this主题的绝对必读书籍 -
Lexical
this仅仅意味着this在词法范围内被查找。我想这实际上总是如此。如果我们说箭头函数没有自己的this值,也许更容易理解。