在构造函数内部和外部定义的方法区别
class Person{constructor(name){this.name=namethis.say1=()=>{console.log('======我在里面',this.name);}}say2(){console.log('======我在外面',this.name);}
}
const A=new Person('A');
const B=new Person('B');
A.say1()
A.say2()
console.log('==1====',A.__proto__.say1);
console.log('==2====',A.__proto__.say2);
say1是实例独有的方法,而say2在原型链上
在construcotr外部定义的函数,是所有实例共享
证明如下
A.say1===B.say1//false
A.say2===A.say2//true