[英]How to check type of a JSON object against typescript interface in React
[英]Check input obj type against custom interface in typescript
有没有办法像下面这样用打字稿编写函数。 T类型属于我的自定义界面。
checkType<T>(input):boolean{
if(typeof input === T){
return true;
}
else{
return false;
}
}
实际上,我有5个下拉菜单,每个下拉菜单都绑定到不同的接口。 在“ selectionChange”事件(所有5个下拉列表中都有一个事件处理程序)上,我编写了以下函数,并获得了作为属于接口之一的json对象的输入,
public selectionChange(value: any): void {
if(this.checkType<ICustomer>(value)){
console.log("yes, this is a customer");
}
但这不起作用。 任何人都可以提出更好的方法,或者我对当前方法做错了什么?
这根本与打字稿无关。
Typescript仅向您提供翻译时控件,它永远不会在运行时引发任何错误,并且不会进行任何特殊检查(您可以查看该已编译的代码,它与原始代码非常相似)。 然后,应用程序将使用纯JavaScript,并且行为如此。
typeof
是javascript关键字,即使使用typescript,它也可以像在纯javascript中一样工作。 您可以通过创建某个类的实例来完成所需的操作,可以使用instanceof
适当的检查。 或者,您可以仅使用某种方法,根据某个关键字找出您所拥有的类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.