[英]How can we define object type interface in typescript?
我想用對象和不同類型定義接口,例如
export interface example {
code: string;
category : {
name : string,
reference: string,
sequence : number
};
}
在定義上,沒有問題,但是在調用
ex = {} as example;
ex.category.name ='electric;
這不起作用,並且發生以下錯誤
錯誤錯誤:未捕獲(承諾):TypeError:無法設置未定義的屬性“名稱” TypeError:無法設置未定義的屬性“名稱”
有一些相似的主題,但它們並不完全相關。 ( 如何在類型腳本界面中定義對象,或者如何在Typescript中定義對象變量的類型? )
感謝您協助我們找到解決方案。
類型斷言並不意味着對象肯定具有您在運行時斷言的形狀。 您可以斷言任何類型的對象,但是如果您的運行時類型不匹配,最終它將在運行時失敗。
在您的示例中, ex
對象沒有category
屬性,因此它將在運行時undefined
,這會導致您出錯。
您也可以在對象中初始化category
屬性:
var ex = {
category: {} // or you can initialize `name` here as well
} as example;
ex.category.name = 'electric';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.