Mixture 是一个对象组合库,提供了一种简单、轻量级、声明式的方式来在代码中组合模块和 mixin,以减少样板文件并提高可读性。通过这种原型对象组合方法,我们不强制使用树状继承模型,而是采用多重继承模型的类网络模型。经典继承在动态原型语言(如 JavaScript)中既不合适也具有约束性。对于冲突的方法和属性,Mixin 更倾向于最后一个优先级。使用鸭子类型是解决钻石问题的首选方法(至少对我而言)。通过将可混合模块组合成小的、特定的部分,可以完全解决经典继承带来的熟悉的 gorilla/banana 问题。这个库最初是为了让 mixin 更容易阅读而创建的。如果您认为此实用程序中还有其他用例,欢迎与我分享。安装目前可以通过 npm 安装为 object-mix 包:

$ npm install object-mix --save

用法 可组合类型: