小结
ES 支持面向对象(OO)编程,但不使用类和接口;
对象具有动态性;
ES不通过类创建对象,而通过一下模式创建对象- 工厂模式
- 构造函数模式
- 原型模式
- 组合使用构造函数模式与原型模式
- 动态原型模式
- 寄生构造函数模式
- 委托工作函数模式
JavaScript主要通过原型链实现继承;原型链的构建是通过将一个类型的实例赋值给另一个构造函数的原型实现的;
这一点与基于类的继承很相似
原型链的问题是对象实例共享所有继承的属性和方法,不宜单独使用;
构造函数借用搭配原型链的 组合继承 是使用最多的继承范式;
还有其他继承的范式
- 原型式继承(浅复制)
- 寄生式继承(浅复制+增强)
- 寄生组合式继承:最高效方式