Skip to content

函数类型表达式

函数是任何应用程序的基本构件,无论它们是本地函数,从另一个模块导入,还是一个类上的方法。它们也是值,就像其他值一样,TypeScript有很多方法来描述如何调用函数。让我们来学习一下如何编写描述函数的类型。

描述一个函数的最简单方法是用一个函数类型表达式。这些类型在语法上类似于箭头函数。

typescript
function greeter(fn: (a: string) => void) { 
  fn("Hello, World"); 
}

function printToConsole(s: string) { 
  console.log(s); 
}

greeter(printToConsole);

语法 (a: string) => void 意味着 "有一个参数的函数,名为 a ,类型为字符串,没有返回值"。就像函数声明一样,如果没有指定参数类型,它就隐含为 any 类型。

当然,我们可以用一个类型别名来命名一个函数类型

typescript
type GreetFunction = (a: string) => void; 
function greeter(fn: GreetFunction) { 
  // ... 
}