【问题标题】:How to add type / interface to function() declaration?如何在 function() 声明中添加类型/接口?
【发布时间】:2022-10-21 20:21:56
【问题描述】:

我在一个单独的文件中定义了这样的类型:

type AddFunc = (a: number, b:number) => number

并使用它们输入“胖箭头”功能:

const add: AddFunc = (a, b) => a + b

这很好,但是我在将上面更改为函数声明时遇到了一个问题,即

function add(a, b) {
  return a + b
}

我不确定,但有没有办法重复使用上面的AddFunc 类型?我想出的唯一方法是像下面这样手动执行,但我想知道我是否可以重用现有类型

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

【问题讨论】:

    标签: typescript


    【解决方案1】:

    ...我想知道我是否可以重用现有类型

    可悲的是,并非如此。我是说你可以做类似的事情:

    function add(...args[]: Parameters<AddFunc>): ReturnType<AddFunc> {
        // ...
    }
    

    ...但是虽然这意味着您只需要更新一个地方 (AddFunc),但它并不简洁。 :-)

    不过,由于 Parameters 元组类型,它确实提供了良好的 IDE 自动完成等功能。

    【讨论】:

      猜你喜欢
      • 2020-03-13
      • 1970-01-01
      • 2018-12-06
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2020-01-12
      相关资源
      最近更新 更多