JavaやPHPの型システムはNominal Typing(公称型)と呼ばれ、クラス名の一致で型の互換性を識別する。一方のTypeScriptはStructural Typing(構造型)と呼ばれ、構造さえ同じなら互換性ありと識別する。 例えば、次のUserクラスとProductクラスは共通してname属性を持っており、同じ構造になっている。つまり、相互に互換性がある。従ってTypeScriptではコンパイルエラーにならない。 class User { name: string } class Product { name: string } let user: User = new Product() // コンパイルエラーにならない let product: Product = new User() // コンパイルエラーにならない TypeScriptでNominal Typingを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く