使用Google Closure继承范例我如何才能看到类名称是什么,或者我如何识别该类,因为object.constructor.name
返回""
并且在缩小时不正确?
目的是执行依赖于接口或继承类的实现的代码。此代码位于decorator类的内部,该类也扩展了Animal
:
var object = XXX; // of @type {Animal}
switch (object.constructor.name) {
case 'Dog':
//...
break;
case 'Cat':
//...
break;
}
答案 0 :(得分:3)
我认为这也有效:
switch (object.constructor) {
case Dog:
...
case Cat:
...
}
或(因为你不能使用switch
而有点丑陋)
if (object instanceof Dog) {
...
} else if (object instanceof Cat) {
...
} else if ...