在 TypeScript 中,函数是代码的基本构造块之一。TypeScript 在 JavaScript 函数的基础上添加了类型注解,提供了更好的代码可读性和安全性。本文将介绍 TypeScript 函数的定义、参数类型、可选参数、默认参数、剩余参数、箭头函数、函数重载等。
目录
1. 函数的基本语法
在 TypeScript 中,可以使用 function
关键字定义函数,并为参数和返回值指定类型。
语法:
function 函数名(参数: 类型, 参数: 类型): 返回值类型 {
// 函数体
}
示例:
function add(x: number, y: number): number {
return x + y;
}
console.log(add(5, 10)); // 输出: 15
2. 函数的返回值类型
TypeScript 允许为函数指定返回值类型。如果函数没有返回值,可以使用 void
作为返回类型。
返回值类型:
function greet(name: string): string {
return "Hello, " + name;
}
console.log(greet("Alice")); // 输出: Hello, Alice
void
返回值:
function logMessage(message: string): void {
console.log("日志:" + message);
}
logMessage("服务器启动"); // 输出: 日志:服务器启动
3. 可选参数
在 TypeScript 中,可以使用 ?
标记可选参数,即使不传递该参数,函数仍然可以正常执行。
示例:
function greet(name: string, age?: number): string {
if (age) {
return `你好, ${name},你 ${age} 岁了`;
} else {
return `你好, ${name}`;
}
}
console.log(greet("小明")); // 你好, 小明
console.log(greet("小红", 25)); // 你好, 小红,你 25 岁了
4. 默认参数
如果某个参数没有提供默认值,TypeScript 会报错。可以给参数赋默认值,以在没有传参时使用默认值。
示例:
function greet(name: string, age: number = 18): string {
return `你好, ${name},你的年龄是 ${age}`;
}
console.log(greet("小明")); // 你好, 小明,你的年龄是 18
console.log(greet("小红", 25)); // 你好, 小红,你的年龄是 25
5. 剩余参数(Rest 参数)
使用 ...
语法可以将多个参数收集到一个数组中。
示例:
function sum(...numbers: number[]): number {
return numbers.reduce((acc, num) => acc + num, 0);
}
console.log(sum(1, 2, 3, 4, 5)); // 输出: 15
6. 箭头函数
箭头函数(=>
)是 ES6 的特性,在 TypeScript 中同样适用。
语法:
const 函数名 = (参数: 类型): 返回值类型 => {
// 函数体
};
示例:
const multiply = (x: number, y: number): number => x * y;
console.log(multiply(3, 4)); // 输出: 12
7. 函数类型
可以使用 TypeScript 的函数类型定义变量,使其只能存储符合特定签名的函数。
示例:
let addFn: (x: number, y: number) => number;
addFn = function (x, y) {
return x + y;
};
console.log(addFn(10, 20)); // 输出: 30
8. 函数重载
函数重载允许一个函数根据不同的参数个数或类型,执行不同的逻辑。
示例:
function sayHello(person: string): string;
function sayHello(person: string, age: number): string;
function sayHello(person: string, age?: number): string {
if (age !== undefined) {
return `你好, ${person},你 ${age} 岁了`;
} else {
return `你好, ${person}`;
}
}
console.log(sayHello("小明")); // 你好, 小明
console.log(sayHello("小红", 25)); // 你好, 小红,你 25 岁了
9. 参考资料
📌 出站链接:
🔗 站内链接:
- TypeScript 基础语法(请替换为实际链接)
TypeScript 提供了强大的函数特性,如可选参数、默认参数、箭头函数和函数重载,合理使用这些特性可以让代码更安全、可读性更高。
发表回复