如何确定两个对象是否属于同一类型(即同一类)?这些对象可以是大约20个不同的类中的任何一个,所以我不想要进行巨大的测试,A的实例,B的实例,......但是在打字稿中没有GetType()/ getClass()
谢谢 - 戴夫
答案 0 :(得分:2)
我不知道打字稿,但这是真的:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
var a = new Greeter("a");
var b = new Greeter("b");
alert(a.constructor === b.constructor);
运行
答案 1 :(得分:2)
只需使用constructor
属性即可。参考:http://basarat.github.io/this-and-prototype/#/reflection
class Animal {}
class Bird extends Animal {}
var animal = new Animal();
var bird = new Bird();
console.log(animal.constructor == Animal); // true
console.log(bird.constructor == Bird); // true