TypeScript 1.5:导出实现接口的默认值
TypeScript 1.5: Export default implementing an interface
在 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
模块的编译时检查将会有问题。
export var defaults:IFoo<string> = {
bar: () => 'Hello world'
}
在 1.5 中进行转换将保留编译时检查,因此这将起作用:
export default <IFoo<string>> {
bar: () => 'Hello world'
}
在 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
模块的编译时检查将会有问题。
export var defaults:IFoo<string> = {
bar: () => 'Hello world'
}
在 1.5 中进行转换将保留编译时检查,因此这将起作用:
export default <IFoo<string>> {
bar: () => 'Hello world'
}