在TypeScript1.5中,我在IFoo.ts中有以下接口:

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

以及在FooString.ts中的实现:
// FooString.ts
export default {
    bar: () => 'Hello world'
}

模块如何声明它作为FooString.ts实现导出的对象文本?如果没有声明,编译器就不会检查接口的实现,而丢失IFoo<sring>模块的编译时检查将是一个问题。

最佳答案

在1.5中的编译将保留编译时检查,因此这将工作:

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

关于typescript - TypeScript 1.5:导出实现接口(interface)的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29849274/

10-11 23:30