TypeScript 函数

摘要:在本教程中,您将学习 TypeScript 函数以及如何使用类型注解来强制执行函数的类型检查。

TypeScript 函数简介

TypeScript 函数是可读、可维护和可重用代码的构建块。

与 JavaScript 一样,您使用function关键字在 TypeScript 中声明函数

function name(parameter: type, parameter:type,...): returnType {
   // do something
}Code language: JavaScript (javascript)

与 JavaScript 不同,TypeScript 允许您在函数的参数和返回值中使用类型注解

让我们看看以下add()函数示例

function add(a: number, b: number): number {
    return a + b;
}Code language: TypeScript (typescript)

在这个例子中,add()函数接受两个参数,类型为number

当您调用add()函数时,TypeScript 编译器会检查传递给函数的每个参数,以确保它们都是数字。

add()函数示例中,您只能向其中传递数字,不能传递其他类型的数值。

以下代码将导致错误,因为它向add()函数传递了两个字符串而不是两个数字

let sum = add('10', '20');Code language: JavaScript (javascript)

错误

error TS2345: Argument of type '"10"' is not assignable to parameter of type 'number'Code language: JavaScript (javascript)

函数参数的类型在函数体中也可用以进行类型检查。

括号后的: number表示返回类型。在本例中,add()函数返回number类型的数值。

当函数具有返回类型时,TypeScript 编译器会针对每个return语句检查返回类型,以确保返回值与其兼容。

如果函数不返回值,您可以使用void类型作为返回类型。void关键字表示函数不返回任何值。例如

function echo(message: string): void {
    console.log(message.toUpperCase());
}Code language: TypeScript (typescript)

void阻止函数内部的代码返回值,并阻止调用代码将函数的结果分配给变量。

当您不注释返回类型时,TypeScript 会尝试推断合适的类型。例如

function add(a: number, b: number) {
    return a + b;
}Code language: TypeScript (typescript)

在这个例子中,TypeScript 编译器尝试将add()函数的返回类型推断为number类型,这是预期的。

但是,如果函数具有返回不同类型的不同分支,则 TypeScript 编译器可能会推断联合类型或any类型。

因此,尽可能地为函数添加类型注解非常重要。

总结

  • 使用类型注解为函数参数和返回类型,以保持调用代码的一致性并确保函数体内的类型检查。
本教程对您有帮助吗?