要求函数参数实现多个接口

时间:2014-07-15 18:56:47

标签: typescript

在打字稿中,是否可以做某种事情:

module module1 {
    export interface Foo {
        data1: string;
    }
    export interface Bar {
        data2: string;
    }
    export function foobar(data: Foo & Bar) {
        //do stuff
        data.data1; data.data2;
    }
}

即,强制foobar的数据参数来实现Foo和Bar?如果是这样,那么正确的语法是什么?

感谢。

1 个答案:

答案 0 :(得分:3)

您必须创建一个新的命名界面:

module module1 {
    export interface Foo {
        data1: string;
    }
    export interface Bar {
        data2: string;
    }
    export interface FooAndBar extends Foo, Bar { }
    export function foobar(data: FooAndBar) {
        //do stuff
        data.data1; data.data2;
    }
}