TypeScript menggunakan structural typing ("duck typing"): dua jenis kompatibel jika mereka memiliki bentuk yang sama, terlepas dari nama mereka atau tempat deklarasinya. Ini berbeda dengan nominal typing (Java, C#) di mana kompatibilitas bergantung pada nama jenis yang dideklarasikan.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
