我在这里找到了这个定义:https://medium.com/javascript-scene/10-interview-questions-every-javascript-developer-should-know-6fa6bdf5ad95#.y0nc8kx34。你认为这个定义听起来有些别扭吗?这个定义对你来说有没有意义?对我来说,在两种情况下都使用了构造函数(使用new可以覆盖返回的对象),并且在两种情况下都存在原型继承。我是漏掉了什么还是上面的定义不太准确?
3. 经典继承和原型继承有什么区别?
经典继承:实例从类中继承(像蓝图一样 - 类的描述),并创建子类关系:层次结构类分类法。通常使用带有“new”关键字的构造函数实例化实例。类继承可能会或可能不会使用ES6中的“class”关键字。
原型继承:实例直接从其他对象继承。通常使用工厂函数或Object.create()实例化实例。实例可以由许多不同的对象组成,允许进行轻松选择性继承。
3. 经典继承和原型继承有什么区别?
经典继承:实例从类中继承(像蓝图一样 - 类的描述),并创建子类关系:层次结构类分类法。通常使用带有“new”关键字的构造函数实例化实例。类继承可能会或可能不会使用ES6中的“class”关键字。
原型继承:实例直接从其他对象继承。通常使用工厂函数或Object.create()实例化实例。实例可以由许多不同的对象组成,允许进行轻松选择性继承。
class
语法,它仍然是原型继承。区别不在于使用的声明语法,而在于实际运行方式。 - jfriend00