typescript - 泛型来评估参数是否是“泛型类的实例”
问题描述
我想在一个函数中确定参数是否属于某个类。这是-non-working-的想法:
function assertClass<CLASS>(v: any, theClass: CLASS, message: string): v is typeof theClass{
let is = v instanceof CLASS ; // err 'CLASS' only refers to a type, but is being used as a value here
return assert(is, message);
}
我想做的事:
let animal: Cat | Dog;
animal= somethingThatCanReturnCatOrDog();
assertClass<Cat>(animal, 'should be a Cat');
我尝试了几种与 typeof 的组合,但变得更加困惑,呃!
解决方案
推荐阅读
- sql-server - 使用 invoke-sqlcmd 和 out-string 提取 XML 时的字符转换问题
- c - 无限循环 (strstr)
- java - 如何使符号出现在 Maven 项目的 Netbeans 输出中?
- vb.net - 如何从 Access DB 的特定列设置 Label.Text
- actions-on-google - 谷歌智能家居不接受语音命令
- php - PHP Imagick:转换 ImageMagick 命令行代码的问题
- php - CodeIgniter 会话未设置(试图在回调函数中设置会话)
- flutter - 如何在颤动中更改抽屉图标?
- python - 如何在python(pycharm)中将NumPy数组保存到PDB(蛋白质数据库)格式的文件
- node.js - Issue when deploying with Heroku (Error 504)