TypeScript uses structural typing ("duck typing"): two types are compatible if they have the same shape, regardless of their name or where they were declared. This contrasts with nominal typing (Java, C#) where compatibility depends on the declared type name.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
