Skip to content

函数

TypeScript 中的函数是一等公民,可以像变量一样被赋值,可以作为参数传递给其他函数,也可以作为函数的返回值。

函数声明

typescript
function greet(name: string): string {
    return "Hello, " + name;
}

函数表达式

typescript
const greet = function (name: string): string {
    return "Hello, " + name;
}

函数类型

typescript
function greet(name: string): string;
function greet(name: string, age: number): string;
function greet(name: string, age?: number): string {
    if (age) {
        return "Hello, " + name + " (" + age + ")";
    } else {
        return "Hello, " + name;
    }
}

可选参数和默认参数

typescript
function greet(name: string, age?: number = 25): string {
    return "Hello, " + name + " (" + age + ")";
}

剩余参数

typescript
function greet(name: string, ...args: string[]): string {
    return "Hello, " + name + " " + args.join(" ");
}

函数重载

typescript
function greet(name: string): string;
function greet(name: string, age: number): string;
function greet(name: string, age?: number): string {
    if (age) {
        return "Hello, " + name + " (" + age + ")";
    } else {
        return "Hello, " + name;
    }
}

箭头函数

typescript
const greet = (name: string) => `Hello, ${name}`;