[JS Pattern] Mixin Pattern
2022/2/8 6:12:38
本文主要是介绍[JS Pattern] Mixin Pattern,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Add functionality to objects or classes without inheritance
Although we can add functionality iwht mixins without inheritance, mixins themselves can use inheritance
class Dog { constructor(name) { this.name = name; } } const animalFunctionality = { walk: () => console.log("Walking"), sleep: () => console.log("Sleeping") }; const dogFunctionality = { __proto__: animalFunctionality, bark: () => console.log("Woof!"), wagTail: () => console.log("Wagging my tail"), play: () => console.log("Plyaing!"), walk(){ super.walk() }, sleep(){ super.sleep() } }; // Object.assign(dogFunctionality, animalFunctionality); Object.assign(Dog.prototype, dogFunctionality); const pet1 = new Dog("Daisy"); console.log(pet1.name); pet1.bark(); pet1.play(); pet1.walk(); pet1.sleep();
Suggestion:
Mixins were often used to add functionality to React component before the introduction of ES6 classes. The React team discourages the use of mixins as it easily adds uncessary complexity to a component, making it hard to maintain and reuse. The React eam encouraged the use of higher order components instead, which can now often be replaced by Hooks.
[Note] From JS Patterns Book
这篇关于[JS Pattern] Mixin Pattern的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Vue新手入门教程:从零开始学习Vue框架
- 2024-11-23如何集成Ant Design Vue的图标
- 2024-11-23如何集成Ant Design Vue图标
- 2024-11-23使用vue CLI快速搭建Vue项目教程
- 2024-11-23Vue CLI多环境配置简单教程
- 2024-11-23Vue3入门教程:轻松搭建你的第一个Vue3应用
- 2024-11-23Vue3+Vite快速上手指南
- 2024-11-23Vue3阿里系UI组件入门指南
- 2024-11-23Vue3的阿里系UI组件入门指南
- 2024-11-23Vue3公共组件入门教程