Wie kann man eine Laufzeittypprüfung für Schnittstellen in TypeScript durchführen, wenn man bedenkt, dass JavaScript das Konzept von Schnittstellen fehlt? ?
Während Sie Instanzen nicht mit Schnittstellen in verwenden können Mit TypeScript können Sie benutzerdefinierte Typschutzvorrichtungen erstellen, um das gewünschte Verhalten zu erreichen:
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); }
In Fällen, in denen mehrere Mitglieder überprüft werden müssen, sollten Sie die Einführung einer Diskriminatoreigenschaft in Betracht ziehen:
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); }
Das obige ist der detaillierte Inhalt vonWie führe ich eine Laufzeittypprüfung für Schnittstellen in TypeScript durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!