typescript如何判断实例是否实现了接口?

·不能用instanceof,因为运行时不存在Interface

·TS 中判断是否实现接口的核心原则是基于结构而不是基于名称的。即鸭子类型判断。

·实现:

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); }

猜你喜欢

转载自www.cnblogs.com/jacksplwxy/p/10474164.html