Bes*_*sat 6 javascript this undefined arrow-functions
我想在我的箭头函数中访问它:
import myObject from '../myObjectPath';
export const myClass = Fluxxor.createStore({
initialize() {
this.list = [];
this.id = null;
},
myOutsideFunction(variable1) {
// here this in NOT undefined
myObject.getMyList(this.id, (myList) => {
// here this in undefined
this.list = myList;
}
});
)};
Run Code Online (Sandbox Code Playgroud)
但是内部的箭头功能在ma回调函数中这是未定义的!!
我正在使用babel来传输代码:
myOutsideFunction: function myOutsideFunction() {
var _this = this;
myObject.getMyList(function (myList) {
_this.list = myList;
});
},
Run Code Online (Sandbox Code Playgroud)
如果this位于undefined箭头函数内,则它在箭头之外也是未定义的。箭头函数只是捕获this周围范围的。
在这种情况下,您将声明myOutsideFunction为对象字面量上的方法,并且从不绑定它或执行任何其他将与对象一起调用它的操作this。
调试时,请记住转译器可以重命名变量(并且必须重命名this才能正确捕获)。在控制台中使用原始名称而不包含包含重命名的源映射,undefined即使原始值不是,也会向您显示。确保在监视或控制台命令中使用转换后的名称。
| 归档时间: |
|
| 查看次数: |
4625 次 |
| 最近记录: |