考慮到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中文網其他相關文章!