首页 > 其他 > 详细

ES6 中 static 的this 丢失问题解决办法 简单明了 备注清晰 谢谢欣赏

时间:2020-07-28 00:20:06      阅读:81      评论:0      收藏:0      [点我收藏+]

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 中 static 的this 丢失问题解决办法 简单明了 备注清晰 谢谢欣赏

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!