FWQ
ES6新特性开发微信小程序(10)
可子类化的内建对象(Subclassable Built-ins) 在ES6中,像Array,Date和Dom元素这样的内建对象都可以被子类化。 通过子类工厂实现简单的合成器(Simple mixins via subclass factories) mixin在javascript里可以看作是一种从别的对象”借用”功能的方法。每一个新定义的对象都有一个 prototype属性,其他的对象就可以从这里”借用”功能。这里的功能可以是一个属性,也可以是一个方法。 Mixin支持在一个系统中降解功能的重复性,增加功能的重用性。在一些应用程序也许需要在所有的对象实体共享行为的地方,我们能够通过在一个Mixin中维护这个共享的功能,来很容易的避免任何重复,而因此专注于只实现我们系统中真正彼此不同的功能。 在 ES6 中,我们可以采用全新的基于类继承的 “mixin” 模式设计更优雅的“语义化”接口,这是因为 ES6 中的 extends 可以继承动态构造的类,这一点和其他的静态声明类的编程语言不同。当 ES6 类继承另一个类,被继承的类可以是通过任意表达式创建的动态类。这个特性可以允许实现一种合成器模式,用一个函数来将一个类 C 映射到一个新的继承了C的类。 mixin 式继承的基本形式: 用 mixin…