如何识别缩小的Google Closure代码中的类?

时间:2014-12-05 09:33:56

标签: google-closure-compiler google-closure google-closure-library

使用Google Closure继承范例我如何才能看到类名称是什么,或者我如何识别该类,因为object.constructor.name返回""并且在缩小时不正确?

目的是执行依赖于接口或继承类的实现的代码。此代码位于decorator类的内部,该类也扩展了Animal

var object = XXX; // of @type {Animal}
switch (object.constructor.name) {
    case 'Dog':
       //...
       break;
    case 'Cat':
       //...
       break;
}

1 个答案:

答案 0 :(得分:3)

我认为这也有效:

switch (object.constructor) {
case Dog:
  ...
case Cat:
  ...
}

或(因为你不能使用switch而有点丑陋)

if (object instanceof Dog) {
  ...
} else if (object instanceof Cat) {
  ...
} else if ...