返回

TypeScript 学习(三):函数高级解析

前端

TypeScript 函数解析
TypeScript 中函数是封装代码块的逻辑单元,用于执行特定任务。函数可以接受参数,并返回一个值。

箭头函数

箭头函数是使用 => 语法创建的简化函数语法。当函数体只有一行且不需要显式返回语句时,可以使用箭头函数。例如:

const sum = (a, b) => a + b;

泛型函数

泛型函数允许您创建可以处理不同类型数据的函数。泛型函数使用类型参数来指定函数可以处理的数据类型。例如:

function sum<T>(a: T, b: T): T {
  return a + b;
}

类型推断

类型推断是 TypeScript 自动推断变量和表达式的类型的一种机制。这有助于提高代码的可读性和维护性。例如:

const a = 1;
const b = "Hello";

TypeScript 将自动推断出 a 的类型为 number,b 的类型为 string。

约束

约束允许您指定泛型函数可以处理的数据类型的条件。例如:

function sum<T extends number>(a: T, b: T): T {
  return a + b;
}

这个函数只允许传递 number 类型的参数。

extends

extends 用于指定泛型函数可以处理的数据类型必须是指定类型的子类型。例如:

function sum<T extends string>(a: T, b: T): T {
  return a + b;
}

这个函数只允许传递 string 类型的参数或 string 类型的子类型(如 String、StringBuffer 等)的参数。

重载

重载允许您为函数定义多个签名。这意味着您可以使用相同的函数名来调用具有不同参数列表的多个函数。例如:

function sum(a: number, b: number): number;
function sum(a: string, b: string): string;
function sum(a: any, b: any): any {
  return a + b;
}

这个函数可以被调用来求两个数字之和、两个字符串之和或两个任意值之和。

结论

本文深入探讨了 TypeScript 函数的高级概念,包括箭头函数、泛型函数、类型推断、约束、extends 和重载。通过生动有趣的示例,您将掌握如何编写灵活、可重用的代码,并有效处理不同类型的数据。