他言語の型システムに馴染みがある人向けのTypeScriptの型システムについてのメモです。個々の用語については『型システム入門』や適当な論文を参照してください。また、個々の型機能の詳細については TypeScript Documentation を参照してください。 合わせて読みたい: TypeScript: Handbook - TypeScript for Functional Programmers 部分型多相(subtype polymorphism)があります。 名前的部分型付け(nominal subtyping)ではなく、構造的部分型付け(structual subtyping)を採用しています1。クラス定義では一見、名前的部分型関係が導入されそうに見えますが型検査は構造的に行なわれます。 パラメータ多相(parametric polymorphism。または総称型(gen