-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[译]使用Javascript mixins #3
Comments
当谈到高级类的组合时,Javascript有非常多的方式,那简直就是个大杂烩。其中的一种方式是基于mixin的继承模式,这种方式常常被人所忽略(特别是开发新人),但它确是非常有用的。虽说mixin有时候非常的密集,以至难以书写和理解,但它的确拥有非常多值得研究的特性。 就像它的名字表明的那样,mixin是一种将一个对象和另一些对象混合在一起以添加我们所需要的属性的模式。那就像是给你的对象提供了额外的属性,但是这些独立的属性又不是真正的子类本身。 更准确的描述是mixin作为工厂工作,返回新的子类对象。而在整个过程中,任何地方都没有去定义子类。
在上面的片段中,我们要创建一个能游泳的鳄鱼。所以我们new了一个鳄鱼的实例,然后给它添加了游泳功能。swim对象是我们希望鳄鱼对象使用object.assign方法拥有的mixin或扩展。
现在让我们看看mixin如何与ES6类一起使用:
通过mixin方法添加功能的优点是灵活性。mixin是一个非常原始的函数,就像它只做一件事一样,允许我们在各种场景中重复使用这些结构。它可以与本机函数调用一起使用,用于类定义等。 不过,在使用mixin时要注意几点: |
No description provided.
The text was updated successfully, but these errors were encountered: