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指向会丢失

解决办法就是 给静态属性直接赋值

静态方法才可调用其属性

原文地址:https://www.cnblogs.com/CH-cnblogs/p/13387326.html