TypeScript utilizza structural typing ("duck typing"): due tipi sono compatibili se hanno la stessa forma, indipendentemente dal nome o dal punto in cui sono stati dichiarati. Questo contrasta con il nominal typing (Java, C#) dove la compatibilità dipende dal nome del tipo dichiarato.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
