Open gaowei1012 opened 3 years ago
在 class
中比较特殊,两个类的继承,继承的类要使用 super()
才可以访问到 this
class A {
constructor() {
this.a = 'hello'
this.b = 'world'
}
getName() {
return '执念'
}
}
class C extends A {
constructor() {
super() // 自动继承A类中的方法属性
this.prop = {
a: 10
}
}
getThis() {
// 这里的this指向的值当前C类
// 这里有一个点需要注意,在class的继承过程中
// 子类继承父类的时候,必须使用 super() 方法,才可以继承父类的方法和属性
// 在此之前 this 是访问不到的
console.log('class this ===>>', this)
return this
}
}
const c = new C()
console.log('c.getThis()=====>>>', c.getThis())
console.log('c.getName()=====>>>', c.getName())
在浏览器非严格模式下,
this
指向的是window
在块级作用域内