首页 > 解决方案 > 声明一个符合类型的 Typescript 函数

问题描述

假设我已经声明了一个包含定义特定类型函数的类型

type Callback = (err: Error | null, result: any)
type UselessFunction = (event: string, context: any, callback: Callback) => void

我想声明必须符合类型的函数UselessFunction

我只在文档中找到了如何使用箭头语法为函数分配类型

const someFunction: UselessFunction = (evt, ctx, cb) => {}

如何将类型分配为函数声明?我在文档中找不到语法

function someFunction (event, context, cb) {
}

标签: typescripttypes

解决方案


TypeScript 缺少此功能。您需要将类型注释添加到声明的参数和返回值中,以使该函数成为特定类型。Parameters但是,您可以通过使用和ReturnType类型使它更方便一些。

type UselessFunction = (event: string, context: any, callback: Callback) => void

function someFunction (...params: Parameters<UselessFunction>): ReturnType<UselessFunction> {
  // ...
}

推荐阅读