js 原型和原型链
1、原型:js中对象o:{} 有一个隐藏属性(__proto__),这个隐藏属性会指向o的原型:o.__proto__===Object.prototype;那么我们就说:Object.prototype就是o的原型;
2、原型链:假设一个数组a=[];a 的隐藏属性指向它的原型(a.__proto__===Array.prototype),而Array.prototype也有一个隐藏属性指向它的原型(Array.ptototype.__proto__===Object.prototype),于是通过这个隐藏属性形成了一条链条,这就是原型链。
3、如何改变o的原型:const o =Object.create(原型) / const o=new Func();
4、解决了: ES6之前没有class的情况下实现了继承;
5、缺点:不支持私有属性--使用class即可。