dragonwong / blog

a blog based on github page
dragonwong.github.io/blog/
9 stars 4 forks source link

class 内函数定义区别 #15

Open dragonwong opened 6 years ago

dragonwong commented 6 years ago
class A {
  say() {
    console.log('i am A');
  }
}

const a1 = new A();
const a2 = new A();

console.log(a1.__proto__.say); // f say()
console.log(a1.say === a2.say); // true

class B {
  say = function() {
    console.log('i am B');
  }
}

const b1 = new B();
const b2 = new B();

console.log(b1.__proto__.say); // undefined
console.log(b1.say === b2.say); // false

原来,换种写法就上不了原型链了。

babel 结果:Babel · The compiler for writing next generation JavaScript