Tipos Intersection
Um Tipo Intersection é um tipo que representa um valor que possui todas as propriedades de dois ou mais tipos. Tipos Intersection são denotados usando o símbolo & entre cada tipo.
type X = { a: string;};
type Y = { b: string;};
type J = X & Y; // Intersection
const j: J = { a: 'a', b: 'b',};