使用方法扩展类是否是一种好的做法



我看过这个问题,我知道如何扩展一个类。但是,使用方法执行此操作是好的做法吗?使用这个安全吗:

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;

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


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

相关内容

最新更新