Composition builds objects from smaller pieces rather than inheriting from parent classes.
// Composition
const canSwim = {
swim() { console.log("Swimming"); }
};
const canFly = {
fly() { console.log("Flying"); }
};
const duck = { ...canSwim, ...canFly };
duck.swim(); // Works!
duck.fly(); // Works!
Composition is often more flexible than deep inheritance.