ES6 中 static 的this 丢失问题解决办法 简单明了 备注清晰 谢谢欣赏
作者:互联网
class A {
constructor(name,age ) { 把constructor整体换成:
this.name = name; ====> static name = 'qwe';
this.age = age ====>static age = 12;
}
后得到
say(){
console.log(this) =======>a
console.log(`I am ${this.name}`) ====>I am undefined
}
static sss(){
console.log(this) ========>class A
console.log(`I am ${A.age}`) =======>12
console.log(`I am ${A.name}`) =======>qwe
}
}
var a = new A();
a.say()
A.sss()
只有静态方法才能调用静态属性,相对性调用才行,要不然this指向会丢失
解决办法就是 给静态属性直接赋值
静态方法才可调用其属性
标签:ES6,console,log,age,am,简单明了,static,name 来源: https://www.cnblogs.com/CH-cnblogs/p/13387326.html