【问题标题】:How to make a function respect an interface in typescript如何使函数尊重打字稿中的接口
【发布时间】:2016-06-24 07:55:38
【问题描述】:

如果我为这样的函数定义一个接口

interface IMyFn {
    (a: number, b: number) : number 
}

我知道我可以创建一个实现该函数的变量/常量,并且 a 和 b 将具有正确的类型。

const fn1: IMyFn = (a, b) => {
    return a + b;
}

但是我怎样才能声明一个函数必须实现接口呢?

// declare fn2: IMyFn???
function fn2 (a, b) {
    return a + b;
}

在这种情况下,不输入 a 和 b。

我知道我可以做到:

function fn2 (a:number, b:number) : number {
    return a + b;
}

如果我传递 fn2,类型将匹配。但是键入函数的想法是不必重复界面信息。

【问题讨论】:

    标签: typescript typescript1.8


    【解决方案1】:

    对于普通函数,您可以使用接口类型的变量:

    var example: IMyFn = function(a, b) {
        return a + b;
    }
    

    【讨论】:

    • 是的,这是我添加的第二个代码。说 const fn1 的那个。我想知道如何声明一个函数实现了接口,而不是一个变量是函数的类型。
    猜你喜欢
    • 2013-01-26
    • 1970-01-01
    • 2016-09-14
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    相关资源
    最近更新 更多