Javascript继承 - 如何检查类类型?

时间:2018-03-08 16:44:22

标签: javascript inheritance

我在javascript中实现了这样的继承: 家长班:

class Parent {
  constructor(data) {
    super(data);
    ...
  }
}
export default Parent;

和儿童班: ChildA

class ChildA extends Parent {
  constructor(data) {
    super(data);
    ...
  }
}

export default ChildA;

和ChildB:

class ChildB extends Parent {
  constructor(data) {
    super(data);
    ...
  }
}

export default ChildB;

现在我从服务器对象获取,该对象基于flag映射到其中一个子节点。这个标志不在对象中,所以可能以后如何在代码中输入什么类型的对象?

我尝试了myObj.constructor.name == 'ChildA'myObj.constructor.name == 'ChildB',但它总是返回false。

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是在您的类上使用type属性来说明每个类的类。它使检查变得非常简单。

更复杂的解决方案是使用Typescript,它内置了继承和类型保护。