在TypeScript 1.5中,我在IFoo.ts
中有以下界面:
// IFoo.ts
interface IFoo<T> {
bar(): T;
}
FooString.ts
中的实施:
// FooString.ts
export default {
bar: () => 'Hello world'
}
模块FooString.ts
如何声明它作为IFoo<sring>
的实现导出的对象文字?如果没有声明,编译器就不会检查接口的实现,并且丢失FooString
模块的编译时检查会有问题。
答案 0 :(得分:2)
在1.5中进行转换将保留编译时检查,因此这将起作用:
export default <IFoo<string>> {
bar: () => 'Hello world'
}
答案 1 :(得分:-1)
export var defaults:IFoo<string> = {
bar: () => 'Hello world'
}