Comment peut-on effectuer une vérification du type d'exécution pour les interfaces dans TypeScript, étant donné que JavaScript n'a pas le concept d'interfaces ?
Bien que vous ne puissiez pas utiliser instanceof avec des interfaces dans TypeScript, vous pouvez créer des protections de type personnalisées pour obtenir le comportement souhaité :
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); }
Dans les cas où plusieurs membres doivent être vérifiés, envisagez d'introduire une propriété discriminante :
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); }
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!