如何将两个对象合并为包含方法的单个对象
How can you merge two objects into a single object including methods
我想将多个对象合并为一个对象,包括使用ES6语法的方法。我在这里有一个小提琴:http://www.es6fiddle.net/isvfozdu/,它显示了我想要完成的任务(下面的代码也是如此)。
我曾经摆弄过一些装饰器模式,它们看起来应该可以工作,但最终却行不通。
我试图解决的问题是一个对象,它根据其属性具有不同的功能,拥有所有的功能可能是有害的。
谢谢!
class A {
hi(){
console.log('hi');
}
}
class B {
bye(){
console.log('bye');
}
}
class C {
hello(){
console.log('hello');
}
}
// x = A & B, not C
x.hi();
x.bye();
x instanceof A // true
x instanceof B // true
x instanceof C // false
// y = A & C, not B
y.h1();
y.hello();
y instanceof A // true
y instanceof B // false
y instanceof C // true
这里的想法是根据a实例的属性将一个类的功能添加到另一个类中。
let a = new A();
if(a.isEnabled){
let b = new B();
magicFunctionOrSomething(a, b);
}
a.bye();
据我所知,您需要原型链接。见MDN的解释由链接。第一个用法示例很简单,可能会对您有所帮助。MDN
相关文章:
- 将两个数组与对象合并
- 如何使用ES6将两个具有函数的对象合并为一个新对象
- 将值和属性从一个对象合并到另一个对象
- 如何将两个json对象合并为一个json
- 将来自多个控制器的 AngularJS 范围对象合并到一个对象中
- 在 node.js 中将 2 个 json 对象合并为一个
- Angular JS将2个对象合并为第三个对象
- JavaScript - 将两个数组对象合并为一个arr对象,然后遍历每个索引/对象
- 将同一数组中的多个对象合并为一个对象
- 如何在 Javascript 中将嵌套对象合并到它们的父对象中
- 将状态与来自循环反应的对象合并
- 将数组合并到对象以及对象合并到数组
- 如何将两个d3对象合并为一个进行批量操作
- 将JSON对象与JSON子对象合并
- 将一个对象合并到另一个对象的最佳方式(无覆盖)
- 使用jQuery扩展方法将函数与对象合并,为什么'只返回s的函数
- 如何将数组与值为数组的对象合并
- 循环遍历数组以查找具有匹配id的所有对象,并将这些对象合并到数组中的一个元素中
- Javascript将对象合并到key ->一组值
- 如何将两个查询对象合并为一个查询对象