[英]Typescript - Recursive Function Type
我正在嘗試編寫一個遞歸的打字稿函數系列,該函數系列將具有其自身類型的元素的數組作為參數。
function example(parameter:number, path: {(parameter:number, path:{/*what do I put here?!*/}[]):boolean;}[]) : boolean
{
return false;
}
這意味着我可以通過以下方式調用該函數:
let result = example(123, [example, example, anotherexample]);
路徑/“我在這里放什么”部分是我遇到的問題。 我想以某種方式將整個函數類型放入typedef中,以提高可讀性。
您可以將example
的類型聲明為接口,因此可以在path
的類型中引用它:
interface Example {
(parameter: number, path: Example[]): boolean
}
function example(parameter: number, path: Example[]): boolean {
return false;
}
UPD:要明確聲明example
的類型,可以這樣編寫:
const example : Example = function (parameter: number, path: Example[]): boolean {
return false;
}
這將警告類型錯誤,但請注意,它現在是一個常量,因此您將無法在聲明它之前引用它。 有關接口的更多信息,請查看https://www.typescriptlang.org/docs/handbook/interfaces.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.