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

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

    静态方法才可调用其属性

  • 相关阅读:
    第八周学习进度
    个人NABCD
    软件需求模式阅读笔记一
    问题账户需求分析
    2017年秋季个人阅读计划
    软件需求与分析——读后感
    第十六周周总结
    第十五周周总结
    第十四周周总结
    第十三周周总结
  • 原文地址:https://www.cnblogs.com/CH-cnblogs/p/13387326.html
Copyright © 2020-2023  润新知