TypeScript usa tipagem estrutural ("duck typing"): dois tipos são compatíveis se tiverem a mesma forma, independentemente do nome ou onde foram declarados. Isso contrasta com tipagem nominal (Java, C#), onde a compatibilidade depende do nome do tipo declarado.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
