在ActionScript中,可以使用is operator在运行时检查类型
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true
trace(mySprite is DisplayObject);// true
trace(mySprite is IEventDispatcher); // true
是否可以检测变量(扩展或)是否是TypeScript的某个类或接口?
我在语言规范中找不到任何关于它的东西。当使用类/接口时,它应该在那里。
发布于 2016-11-21 18:42:39
TypeScript有一种在运行时验证变量类型的方法。您可以添加一个返回类型谓词的验证函数。因此,您可以在if语句中调用此函数,并确保该块中的所有代码都可以安全地用作您认为的类型。
TypeScript文档中的示例:
function isFish(pet: Fish | Bird): pet is Fish {
return (<Fish>pet).swim !== undefined;
}
// Both calls to 'swim' and 'fly' are now okay.
if (isFish(pet)) {
pet.swim();
}
else {
pet.fly();
}
欲了解更多信息,请访问:https://www.typescriptlang.org/docs/handbook/advanced-types.html
https://stackoverflow.com/questions/12789231
复制相似问题