يستخدم TypeScript الكتابة البنيوية ("duck typing"): نوعان متوافقان إذا كان لديهما نفس الشكل، بغض النظر عن اسمهما أو مكان تعريفهما. وهذا يتناقض مع الكتابة الاسمية (Nominal typing) (Java, C#) حيث يعتمد التوافق على اسم النوع المعلن.
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
