Memoizing在打字稿
问题描述:
对象在JS我做的一个方法:Memoizing在打字稿
var o = {
foo: memoize(foo)
};
我怎么在打字稿memoize的一个实例方法相类似?
class C {
// How do I memoize this function?
public foo() :any {
}
}
我想用一个class
以配合建立在现有的打字稿代码库的成语。
答
这里有两种方法可以做到这一点:
// With Typescript syntax
class C {
foo = memoize(() => {
});
}
// Using ES6-style initialization instead of field initializers
class C {
foo:() => any;
constructor() {
this.foo = memoize(() => {
});
}
}
有什么改变它变成一个类的意图是什么?仅仅因为你使用TS并不意味着你必须将所有东西都转换成类。编写你会写的JS,并在你想要的地方添加类型注释。 –
你可以从打字稿类构造函数返回任意对象吗?我问,因为这不是我的代码库,我需要利用Angular注入器。每次我尝试在TS中做一些事情时,我都遇到了意想不到的障碍。 – Ben
TS与此有什么关系?类是ES6功能。 –