[英]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.