infer este folosit în interiorul unui conditional type pentru a captura (extrage) un tip din interiorul altui tip într-o nouă variabilă de tip pe care o puteți folosi apoi. Este potrivirea de șabloane pentru tipuri.
<T> = T (infer U)[] ? U : ;
A = <[]>;
B = <[]>;
