我是JavaScript的新手。我正在阅读第6章“面向Web开发人员的专业Javascript第3版”中关于“寄生组合继承”的部分。随着ES6的引入和对“新”和深层次结构的强烈推动,是否还有再使用寄生组合继承模式的目的?
今天用的是什么?我觉得我在学习一堆无用的模式。我知道现在人们只使用Object.create()和Object.assign(),那么为什么还要提到这些继承模式呢?
发布于 2016-10-15 15:31:22
我所知道的在Javascript中进行继承的最“正确”方法是:
let SubClass = function() { SuperClass.call(this, arguments); /*Do other stuff here*/ }
SubClass.prototype = Object.create(SuperClass.prototype);Object.create(o)与{__proto__: o}将创建另一个以o为原型的对象大致相同。
但是,由于世界已经发生了变化,我们现在生活在ES6领域,您宁愿使用ES6标准的继承方式:
class SubClass extends SuperClass {
constructor() { super(...arguments); /*Do other stuff here*/ }
}这些是当今最广泛使用的方法,只要适合你就坚持下去。
希望这能有所帮助。
https://stackoverflow.com/questions/40054580
复制相似问题