主题
函数与类型
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 的核心能力之一,良好的函数类型注解可以提升代码的可读性与可维护性。