Bagaimanakah seseorang boleh melakukan semakan jenis masa jalan untuk antara muka dalam TypeScript, memandangkan JavaScript tidak mempunyai konsep antara muka ?
Walaupun anda tidak boleh menggunakan instanceof dengan antara muka dalam TypeScript, anda boleh mencipta pengawal jenis tersuai untuk mencapai gelagat yang diingini:
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); }
Untuk kes di mana berbilang ahli perlu diperiksa, pertimbangkan untuk memperkenalkan sifat diskriminator:
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); }
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Semakan Jenis Runtime untuk Antara Muka dalam TypeScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!