2016-11-17 98 views
1

對象在JS我做的一個方法:Memoizing在打字稿

var o = { 
    foo: memoize(foo) 
}; 

我怎麼在打字稿memoize的一個實例方法相類似?

class C { 
    // How do I memoize this function? 
    public foo() :any { 
    } 
} 

我想用一個class以配合建立在現有的打字稿代碼庫的成語。

+0

有什麼改變它變成一個類的意圖是什麼?僅僅因爲你使用TS並不意味着你必須將所有東西都轉換成類。編寫你會寫的JS,並在你想要的地方添加類型註釋。 –

+0

你可以從打字稿類構造函數返回任意對象嗎?我問,因爲這不是我的代碼庫,我需要利用Angular注入器。每次我嘗試在TS中做一些事情時,我都遇到了意想不到的障礙。 – Ben

+0

TS與此有什麼關係?類是ES6功能。 –

回答

1

這裏有兩種方法可以做到這一點:

// With Typescript syntax 
class C { 
    foo = memoize(() => { 
    }); 
} 

// Using ES6-style initialization instead of field initializers 
class C { 
    foo:() => any; 
    constructor() { 
     this.foo = memoize(() => { 
     }); 
    } 
}