TypeScript 1.5:导出默认实现接口

时间:2015-04-24 13:49:57

标签: typescript

在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模块的编译时检查会有问题。

2 个答案:

答案 0 :(得分:2)

在1.5中进行转换将保留编译时检查,因此这将起作用:

export default <IFoo<string>> {
    bar: () => 'Hello world'
}

答案 1 :(得分:-1)

export var defaults:IFoo<string> = {
    bar: () => 'Hello world'
}