1. 函数声明:
使用 function 关键字来声明函数。
function add(x: number, y: number): number {
return x + y;
}
let result: number = add(3, 4);
2. 函数表达式:
函数可以被赋值给变量,这被称为函数表达式。
let multiply = function(x: number, y: number): number {
return x * y;
};
let product: number = multiply(5, 6);
3. 箭头函数:
使用箭头函数表达更简洁的函数,尤其适用于简单的函数体。
let divide = (x: number, y: number): number => x / y;
let quotient: number = divide(8, 2);
4. 可选参数和默认参数:
在函数参数后面使用 ? 表示可选参数,使用 = 设置默认参数值。
function greet(name: string, greeting: string = "Hello"): string {
return `${greeting}, ${name}!`;
}
let message1: string = greet("Alice");
let message2: string = greet("Bob", "Hi");
5. 剩余参数:
使用剩余参数语法 ... 来表示接收不定数量的参数。
function sum(...numbers: number[]): number {
return numbers.reduce((total, num) => total + num, 0);
}
let total: number = sum(1, 2, 3, 4, 5);
6. 函数重载:
TypeScript 允许你为同一个函数提供多个类型定义,称为函数重载。
function greet(person: string): string;
function greet(person: string, age: number): string;
function greet(person: string, age?: number): string {
if (age !== undefined) {
return `Hello, ${person}! You are ${age} years old.`;
} else {
return `Hello, ${person}!`;
}
}
let message1 = greet("Alice");
let message2 = greet("Bob", 25);
7. 回调函数:
在 TypeScript 中可以使用函数作为参数传递给其他函数,通常用于异步编程。
function fetchData(callback: (data: string) => void): void {
// 模拟异步操作
setTimeout(() => {
const data = "Some data";
callback(data);
}, 1000);
}
fetchData((result) => {
console.log("Data received:", result);
});
8. this 和箭头函数:
箭头函数不会改变 this 的指向,而普通函数会。
class Example {
private value: number = 42;
// 普通函数
normalFunction() {
console.log(this.value); // undefined,因为 this 的指向被改变了
}
// 箭头函数
arrowFunction = () => {
console.log(this.value); // 42,this 的指向没有改变
};
}
let example = new Example();
example.normalFunction();
example.arrowFunction();
这些是 TypeScript 中函数的一些基本概念和用法。函数是编程中的重要构建块,通过合理使用函数,可以提高代码的可读性、可维护性和可重用性。
转载请注明出处:http://www.zyzy.cn/article/detail/4697/TypeScript