Heim > Web-Frontend > js-Tutorial > Wie führe ich Laufzeit-Schnittstellentypprüfungen in TypeScript durch?

Wie führe ich Laufzeit-Schnittstellentypprüfungen in TypeScript durch?

Patricia Arquette
Freigeben: 2024-12-15 03:33:12
Original
626 Leute haben es durchsucht

How to Perform Runtime Interface Type Checks in TypeScript?

Schnittstellentypprüfung in TypeScript

In TypeScript können Sie auf ein Szenario stoßen, in dem es entscheidend ist, die Konformität eines Objekts mit einer vordefinierten Schnittstelle zur Laufzeit zu bestimmen . Während Klassentypprüfungen mithilfe des Schlüsselworts „instanceof“ unkompliziert sind, stellt die Anwendung auf Schnittstellen eine Herausforderung dar.

Herkömmliche Ansätze, wie die Verwendung des Operators „instanceof“, erweisen sich als unwirksam, da Schnittstellen in kompiliertem JavaScript nicht als eindeutige Typen dargestellt werden. Stattdessen bieten benutzerdefinierte Typwächter eine Lösung:

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);
}
Nach dem Login kopieren

Dieser Ansatz ermöglicht eine Laufzeitüberprüfung der Schnittstellenkonformität, ohne dass das Schlüsselwort „instanceof“ erforderlich ist.

In Situationen, in denen mehrere Mitglieder überprüft werden müssen, a Diskriminatoreigenschaft kann eingeführt werden. Dieser Ansatz erfordert die Verwaltung Ihrer eigenen Diskriminatoren und die Sicherstellung der Eindeutigkeit, um Konflikte zu vermeiden:

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);
}
Nach dem Login kopieren

Durch den Einsatz benutzerdefinierter Typwächter oder Diskriminatoren können Sie Schnittstellentypprüfungen zur Laufzeit effektiv durchführen und so die Robustheit Ihrer TypeScript-Anwendungen verbessern.

Das obige ist der detaillierte Inhalt vonWie führe ich Laufzeit-Schnittstellentypprüfungen in TypeScript durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage