JavaScript にはインターフェイスの概念がないことを考慮すると、TypeScript でインターフェイスの実行時型チェックをどのように実行できますか? ?
ただし、instanceof は使用できませんTypeScript のインターフェイスでは、カスタムのタイプ ガードを作成して目的の動作を実現できます:
interface A { member: string; } function instanceOfA(object: any): object is A { return 'member' in object; } var a: any = {member: "foobar"}; if (instanceOfA(a)) { alert(a.member); }
複数のメンバーをチェックする必要がある場合は、識別子プロパティの導入を検討してください:
interface A { discriminator: 'I-AM-A'; member: string; } function instanceOfA(object: any): object is A { return object.discriminator === 'I-AM-A'; } var a: any = {discriminator: 'I-AM-A', member: "foobar"}; if (instanceOfA(a)) { alert(a.member); }
以上がTypeScript でインターフェイスのランタイム型チェックを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。