TypeScriptに関するkituneudon97のブックマーク (1)

  • TypeScriptって「構造的部分型」なんだ。っていう話 - Qiita

    実装していて 「構造的部分型」 なんて意識していなかったけど、「構造的部分型」をちょっと理解していると、下記のサンプルがなんで実装エラー(静的型チェックエラー)にならず、実行できるのか理解できるよ、っていう話。 class Person { public talk() { console.log('こんちは'); } } class Dog { public talk() { console.log('ワン!'); } } const person = new Person(); const dog: Dog = person; // ←これエラーにならないよ!! dog.talk(); PersonクラスってDogクラスから派生してるわけでもなく、なんでエラーにならないんだ?? Javaなら間違いなくエラーになりますよね。 このエラーにならない理由が、TypeScriptが「構造的部分型

    TypeScriptって「構造的部分型」なんだ。っていう話 - Qiita
    kituneudon97
    kituneudon97 2024/05/29
    クラスが別であってもプロパティが一緒だったら同じ型として扱える
  • 1