2017-04-19 67 views
0

我做這個一些非常瘋狂的東西,但它已經工作了一段時間:申報財產分配給返回函數

function foo(cb){ 

    return function bar(){ 

     if(bar.x){ 
     cb(); 
     } 

    } 


} 

不要問爲什麼:),但它已經爲我工作。現在我將這個JavaScript代碼轉換爲TypeScript。有沒有辦法聲明返回的函數的類型,所以我可以聲明該函數有一個名爲「x」的屬性?

回答

0

呃,我總是忘記這是你怎麼做到的!

interface IMyReturnedFn { 
(): void, 
    x: string, 
} 


function foo(cb) : IMyReturnedFn { 

    return function bar(){ 

     if(bar.x){ 
     cb(); 
     } 

    } 

} 

現在返回的函數有一個類型! voila