教程 ts tutorial

函数与类型

TypeScript 提供了对函数结构的完整类型支持,包括参数、返回值、重载等。

参数与返回值类型

为函数添加明确的参数和返回值类型:

ts
function greet(name: string): string {
  return `Hello, ${name}`;
}

可以使用类型推断省略返回值类型:

ts
function square(x: number) {
  return x * x;
}

可选参数与默认参数

可选参数使用 ? 声明,默认参数和 JavaScript 一样:

ts
function log(message: string, level?: string) {
  console.log(`[${level || "info"}] ${message}`);
}

function multiply(a: number, b: number = 1): number {
  return a * b;
}

可选参数必须排在必填参数之后。

剩余参数(Rest Parameters)

与 JavaScript 相同,使用 ... 来接收多个参数:

ts
function sum(...nums: number[]): number {
  return nums.reduce((acc, curr) => acc + curr, 0);
}

函数重载

函数重载允许定义多个函数签名:

ts
function reverse(x: string): string;
function reverse(x: number): number;

function reverse(x: string | number): string | number {
  if (typeof x === "string") {
    return x.split("").reverse().join("");
  }
  return Number(x.toString().split("").reverse().join(""));
}

注意:真正的实现只能有一个,其他签名用于类型提示。

函数类型是 TypeScript 的核心能力之一,良好的函数类型注解可以提升代码的可读性与可维护性。