·不能用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);
}

相关文章:

  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
猜你喜欢
  • 2021-10-03
  • 2022-12-23
  • 2022-01-03
  • 2021-12-02
  • 2022-01-14
相关资源
相似解决方案