我想定義一個打字稿interface來將來自網路服務的答案映射到一種型別(類似于此處顯示的內容)。這是一個示例答案。
{
"type": "Seen",
"creation": 33,
"fileId": 6
}
因此,以下介面將是合適的。
interface Event {
type: 'Accepted' | 'Judgment' | 'Seen';
creation: number;
fileId: number;
}
不幸的是,編譯器不喜歡它:type是一個保留關鍵字。
如何使用保留關鍵字作為介面內的屬性?
我想可以使用另一個術語來定義屬性,然后按照此處的建議以某種方式為其定義一個別名,或者按照此處的建議使用,var但在我的情況下我不知道該怎么做。
uj5u.com熱心網友回復:
使用type在interface. 事實上,你可以在介面中使用 TypeScript 的所有關鍵字:
interface Test {
type: string
class: string
any: string
}
這里的問題是你正在修改一個已經定義為 type的現有 :interfacetypestring
// lib.dom.d.ts
/** An event which takes place in the DOM. */
interface Event {
readonly type: string;
/* ... */
}
您可以定義多個具有相同名稱的介面來合并它們。這稱為“宣告合并”。但是如果你用不同的型別定義相同的屬性,你會得到以下錯誤:
'type' 的所有宣告必須具有相同的修飾符。
因此,除非您嘗試修改全域可用的介面Event,否則您應該只選擇介面的另一個名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/472043.html
