关于原型链继承缺点的问题

比如说有几个实例,通过原型链继承自同一个父类,现在在某个实例上修改了继承来的某一个属性,那所有的实例都会共享这个修改,这是原型继承的缺点对吧?
那为什么不考虑把这个实例想要修改的这个属性 直接从被继承的父类那里拷贝过来一份呢,这样不就可以随便改,而不必影响到其他实例,还有必要加上借用构造函数继承一起使用吗?

最佳答案

构造函数的作用就是 提供模板,生成对象实例,作为函数就可以通过传参进行复用,解决原型链继承不能传参的问题

按照你说的方式,如果我有很多个实例,就需要在原型上面添加很多属性,造成原型臃肿,也不好维护。而构造函数就可以解决这个问题,子类实例不需要共享父类引用属性

推荐 JavaScript 中的继承