[英]How Arrow function work inside constructor?
我对构造函数内部的箭头功能感到困惑。
据我所知: 如果使用箭头功能,则关键字this不会反弹到该实际功能。 它是从父范围继承的。
让我们举个例子:
var d = {
b: 'b',
x: () =>{
console.log(this); // this will return Window Object.
}
}
d.x();
它将打印Window
对象。 那也行。
但是在构造函数中
function A(){
this.b ='b';
this.x = () =>{
console.log(this);
}
}
var c = new A()
c.x();
此打印对象c
。 但据我说,它应该返回Window Object。 为什么呢
在构造函数中, this
是指构造对象。 你为什么还能这样做this.b ='b';
?
由于箭头功能仅捕获当前上下文,因此它捕获了构造函数中的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.