概念: 原型链 每个对象都有一个原型属性, 这个属性就是__proto__, 而每个prototype 本身也是一个对象, 所以原型本身也有原型, 这就形成了原型链
所有对象的原型链的终点 都是 Object.prototype
原型链的构造方法:
方法1: Object.create
const newObject = Object.create(somePrototype);
somePrototype 就成了newObject的prototype
方法2: 构造函数 每个方法都有一个属性, 属性名就是“prototype” 当你用这个方法当作构造函数就创建对象, 创建出来的对象的原型就是这个方法的“prototype”属性。
我们可以改变一个方法的“prototype” 属性
Object.assign(Person.prototype, personPrototype);