TypeScript usa tipado estructural ("duck typing"): dos tipos son compatibles si tienen la misma forma, sin importar su nombre ni dónde fueron declarados. Esto contrasta con el tipado nominal (Java, C#), donde la compatibilidad depende del nombre de tipo declarado.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
