Maison > interface Web > js tutoriel > Comment effectuer des vérifications de type d'interface d'exécution dans TypeScript ?

Comment effectuer des vérifications de type d'interface d'exécution dans TypeScript ?

Patricia Arquette
Libérer: 2024-12-15 03:33:12
original
626 Les gens l'ont consulté

How to Perform Runtime Interface Type Checks in TypeScript?

Vérification du type d'interface dans TypeScript

Dans TypeScript, vous pouvez rencontrer un scénario dans lequel il est crucial de déterminer la conformité d'un objet avec une interface prédéfinie au moment de l'exécution. . Bien que les vérifications de type de classe exploitant le mot-clé instanceof soient simples, son application aux interfaces présente un défi.

Les approches traditionnelles, telles que le recours à l'opérateur instanceof, s'avèrent inefficaces car les interfaces ne sont pas représentées en tant que types distincts dans le JavaScript compilé. Au lieu de cela, les gardes de type personnalisés offrent une solution :

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);
}
Copier après la connexion

Cette approche permet la vérification à l'exécution de la conformité de l'interface sans avoir besoin du mot-clé instanceof.

Dans les situations où plusieurs membres doivent être vérifiés, un une propriété discriminante peut être introduite. Cette approche nécessite de gérer vos propres discriminateurs et de garantir l'unicité pour éviter les conflits :

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);
}
Copier après la connexion

En employant des gardes de type ou des discriminateurs personnalisés, vous pouvez effectuer efficacement des vérifications de type d'interface au moment de l'exécution, améliorant ainsi la robustesse de vos applications TypeScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal