2015-04-24 34 views
1

在打字稿1.5,我在IFoo.ts如下界面:打字稿1.5:出口的默认实现接口

// IFoo.ts 
interface IFoo<T> { 
    bar(): T; 
} 

和实施在FooString.ts

// FooString.ts 
export default { 
    bar:() => 'Hello world' 
} 

如何模块FooString.ts声明对象字面量它作为IFoo<sring>的实现导出?如果没有声明,编译器不会检查接口的实现,并且编译时检查FooString模块会有问题。

回答

1

在1.5铸件将保留编译时检查,所以这将工作:

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

这是相当稀少。你可以添加一些文字来解释这个代码/它如何解决OP的问题? – gung

+0

不幸的是不是合适的答案。导出名为'defaults'的变量不会执行任何操作。 –