TypeScript ใช้ structural typing ("duck typing"): สองประเภทเข้ากันได้ถ้าพวกมันมี รูปร่างเดียวกัน โดยไม่คำนึงถึงชื่อหรือที่ที่ประกาศ ซึ่งตรงกันข้ามกับ nominal typing (Java, C#) ที่ความเข้ากันได้ขึ้นอยู่กับชื่อประเภทที่ประกาศไว้
{ : ; : ; }
() { .(p., p.); }
obj = { : , : , : };
(obj);
