0

我见过这个问题,我知道如何扩展一个类。但是,用方法做到这一点是一种好习惯吗?使用它是否安全:

function extendClass(child, parent) {
    child.prototype = Object.create(parent.prototype);
    child.constructor = child;
}

extendClass(Banana, Fruit);

而不是这个:

Banana.prototype = Object.create(Fruit.prototype);
Banana.prototype.constructor = Banana;
4

1 回答 1

3

使用函数来执行重复的工作,而不是在需要做的任何地方重复工作是标准做法。它可以减少出错的机会并集中操作,以防它需要随着时间的推移而增强。在继承关系中连接构造函数和关联的原型(“类”)并没有什么特别之处,这使它成为一个例外。


与切线相关的旁注:从 ES2015(又名“ES6”,2015 年 6 月发布的规范)开始,这种设置这些层次结构的方式已经过时(当然它仍然有效)。ES2015+ 的方式是classand extends

于 2017-01-29T13:39:15.977 回答