ES6 Class

130 阅读1分钟

在类中三种不同位置的方法 

class A {
  constructor(name) {   
     this.name = name 
     this.say = (name) => {
      console.log(this, 1); 
     } 
  } 
  say = (name) => {
    console.log(this, name); 
  }
  say(){
    console.log('我会挂在在原型对象上')
  }
  static say(){}
}

在A类中 定义了三个同名的say 方法 

  1. 箭头函数 say:挂载到实例本身上

  2. 普通say方法挂载至原型对象上

  3. 构造器身上的say方法也会挂载至实例本身并且会覆盖箭头函数的say方法

  4. 态方法say 挂载至类本身,可以通过A.say()的方式调用,也可以使用以下方法通过实例对象访问类的say方法

    s.proto.constructor.say()