[英]Typescript throws error for return function type
我對 typescript 很陌生。 我正在嘗試輸入此模擬 function 並引發以下錯誤:
'() 類型的值 => { doc: { name: string; header:字符串; 正文:字符串; 類別:字符串; isFunction:boolean; isOperator:未定義; 支持的執行上下文:字符串[]; }; 錯誤:未定義; }' 與類型 'IQuickHelpDocs' 沒有共同的屬性。 你的意思是叫它嗎?ts(2560)
getHelpDocs.ts(27, 49):你的意思是調用這個表達式嗎?
export const getHelpDocs: IHelpDocs = () => ({
doc: {
name: 'demo',
header: 'demo',
body: 'Returns the demo value of <code>value</code>',
category: 'Number',
isFunction: true,
isOperator: undefined,
supportedExecutionContexts: ['calc', 'my'],
},
error: undefined,
})
類型.ts
export interface IHelpDocs {
doc?: IDoc
error?: IDocsError
}
不知道我錯過了什么。 如此迷茫。 請幫助。
您當前編寫的注釋說getHelpDocs
是IHelpDocs
類型:
export const getHelpDocs: IHelpDocs = ...
相反,您可能想要傳達的是 function 不接受 arguments 並返回IHelpDocs
:
export const getHelpDocs: () => IHelpDocs = ...
這里可能令人困惑的是類型注釋。 對於函數,您可以按如下方式注釋返回類型:
export function getHelpDocs(): IHelpDocs { ... }
對於變量,您需要對整個 shebang 進行注釋,否則 Typescript 將不知道會期待 function — 也可能是您確實想要只有接口。
您告訴 TypeScript getHelpDocs
應該是IHelpDocs
的形狀,但事實並非如此。 這是一個返回 IHelpDocs 的IHelpDocs
。
我會將其更改為直接導出function
:
export function getHelpDocs(): IHelpDocs {
return {
doc: {
name: 'abs',
header: '<code>abs(value)</code>',
body: 'Returns the absolute value of <code>value</code>',
category: 'Number',
isFunction: true,
isOperator: undefined,
supportedExecutionContexts: ['calc', 'sql'],
},
error: undefined,
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.