this的指向
来源:3-1 实例属性、静态方法和静态属性
Yuri沫
2022-05-11 22:05:59
// ES6测验第8题:
const age = 17;
class Person{
constructor(age){
this.age = age;
}
age = 18;
static age = 19;
say = () => {
console.log(this.age);
}
}
var p1 = new Person(20);
p1.say();老师,不是很明白为什么最后输出的this.age = 20?
箭头函数不是没有自己的作用域嘛,而且箭头函数也不符合谁调用this就指向谁,那往外找作用域只有window了啊
1回答
同学你好,箭头函数没有自己的作用域,但是say是类实例上的方法

say和age一样,直接赋值相当于用this定义的,也就是在类实例上。那么箭头函数中的this就会指向实例,也就是Person 对象,this.age为实例中的属性,值为20。
祝学习愉快!
相似问题