在 TypeScript 中,函數是執行特定任務的一組語句。以下介紹幾種定義函數的方法。
函數聲明是一種定義函數的基本方式。
function greet(name: string): void {
console.log(`Hello, ${name}!`);
}
函數表達式是將函數賦值給變數的一種方式。
const greet = function(name: string): void {
console.log(`Hello, ${name}!`);
};
箭頭函數提供了一種簡潔的函數定義方式,尤其適合於簡短的函數。
const greet = (name: string): void => {
console.log(`Hello, ${name}!`);
};
匿名函數是一種沒有名稱的函數,通常用於即時執行的情況。
setTimeout(function() {
console.log("This is an anonymous function.");
}, 1000);
函數呼叫是指執行定義好的函數,並根據需要傳遞參數。
function greet(name: string): void {
console.log(`Hello, ${name}!`);
}
greet("Alice"); // Hello, Alice!
函數的參數用於接收外部傳入的值。
函數可以接收單個參數。
function square(num: number): number {
return num * num;
}
console.log(square(4)); // 16
函數可以接收多個參數。
function add(a: number, b: number): number {
return a + b;
}
console.log(add(5, 3)); // 8
函數參數可以有預設值,當呼叫函數時未提供相應的參數值時,會使用預設值。
function greet(name: string = "Guest"): void {
console.log(`Hello, ${name}!`);
}
greet(); // Hello, Guest!
剩餘參數用於接收不定數量的參數,並將其存放在一個數組中。
function sum(...numbers: number[]): number {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4)); // 10
函數可以返回一個值,並且返回值的類型可以是多種多樣的。
函數可以返回單個值。
function getGreeting(name: string): string {
return `Hello, ${name}!`;
}
console.log(getGreeting("Alice")); // Hello, Alice!
函數可以返回一個物件,這樣可以包含多個返回值。
function createUser(name: string, age: number): { name: string, age: number } {
return { name, age };
}
const user = createUser("Alice", 30);
console.log(user); // { name: 'Alice', age: 30 }
函數可以返回另一個函數。
function makeMultiplier(multiplier: number): (num: number) => number {
return function(num: number): number {
return num * multiplier;
};
}
const double = makeMultiplier(2);
console.log(double(5)); // 10