構造的なサブタイピング
TypeScriptでは、オブジェクトの型は、構造的に比較されます。
-
-
上記の定義のとき、以下の例は許容されます。
getFullNameに、Name型のオブジェクトを渡すと、当然OKです。
-
-
また、以下のものもOKです。
-
-
例2では、FriendクラスのフィールドのfirstNameとlastNameが、Nameで要求されるパラメータと一致しているため、OKとなります。
例3では、firstNameとlastNameを持つオブジェクトを渡しているためOKです。
このように、TypeScriptでは、オブジェクトの構造を比較して、型のチェックが行われます。
(つづく)
(見出しへ)
0 件のコメント:
コメントを投稿