Description
extend
is a very common pattern in
JavaScript where you take two
objects and create a new one that has the
features of both these objects. An Intersection Type
allows you to use
this pattern in a safe way.
Syntax
function extend<T, U>(first: T, second: U): T & U {
return { ...first, ...second };
}
const x = extend({ a: "hello" }, { b: 42 });
// x now has both `a` and `b`
const a = x.a;
const b = x.b;