如何确定两个对象是否属于同一类型(打字稿)

时间:2014-08-25 22:20:16

标签: typescript

如何确定两个对象是否属于同一类型(即同一类)?这些对象可以是大约20个不同的类中的任何一个,所以我不想要进行巨大的测试,A的实例,B的实例,......但是在打字稿中没有GetType()/ getClass()

谢谢 - 戴夫

2 个答案:

答案 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);

只需在此处http://www.typescriptlang.org/Playground

运行

答案 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