Skip to content

函数

在 TypeScript 中,函数是一种可重用的代码块,它执行特定的任务并可能返回一个值。

语法格式如下所示:

  • return_type 是返回值的类型。
  • return 关键词后跟着要返回的结果。
  • 一般情况下,一个函数只有一个 return 语句。
  • 返回值的类型需要与函数定义的返回类型(return_type)一致。
typescript
function function_name(): return_type {
    // 语句
    return value;
}

TypeScript 支持多种函数类型,包括普通函数、箭头函数、函数类型、默认参数、剩余参数和重载函数。以下是一些关于 TypeScript 函数的基本概念和示例:

普通函数

普通函数是使用 function 关键字定义的。

typescript
function add(a: number, b: number): number {
    return a + b;
}

console.log(add(1, 2)); // 输出 3

箭头函数

箭头函数使用 => 语法,并提供了更简洁的函数定义方式。箭头函数没有自己的 this、arguments、super 或 new.target。

typescript
const add = (a: number, b: number): number => a + b;

console.log(add(1, 2)); // 输出 3

函数类型

你可以显式地定义函数的类型。

typescript
type AddFunction = (a: number, b: number) => number;

const add: AddFunction = (a, b) => a + b;

console.log(add(1, 2)); // 输出 3

默认参数

你可以为函数参数提供默认值。

typescript
function greet(name: string = "World") {
    return `Hello, ${name}!`;
}

console.log(greet()); // 输出 "Hello, World!"  
console.log(greet("TypeScript")); // 输出 "Hello, TypeScript!"

剩余参数

使用剩余参数可以处理不确定数量的参数。

typescript
function sum(...numbers: number[]) {
    return numbers.reduce((a, b) => a + b, 0);
}

console.log(sum(1, 2, 3, 4)); // 输出 10

重载函数

函数重载允许你为同一个函数定义多个类型签名。

typescript
function reverse(x: number): number;
function reverse(x: string): string;
function reverse(x: any): any {
    if (typeof x === "number") {
        return Number(x.toString().split("").reverse().join(""));
    } else if (typeof x === "string") {
        return x.split("").reverse().join("");
    }
}

console.log(reverse(123)); // 输出 "321"  
console.log(reverse("hello")); // 输出 "olleh"

函数作为参数传递

在 TypeScript 中,函数可以作为参数传递,可以从其他函数返回,并可以赋值给变量。

typescript
function applyFunc(fn: (a: number, b: number) => number, a: number, b: number) {
    return fn(a, b);
}

const multiply = (a: number, b: number) => a * b;

console.log(applyFunc(multiply, 5, 3)); // 输出 15

立即执行函数表达式 (IIFE)

这是一个自调用函数,定义后立即执行。

typescript
(function exampleIIFE() {
    console.log("This function will be executed immediately.");
})();
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!