七步学会TypeScript - 第五步-泛型

泛型是 TypeScript 中一个非常强大且重要的概念,它允许你编写更加灵活、可重用的代码,特别是在函数、类和接口中。让我们详细了解泛型的概念和用法。

1. 泛型的概念和用途:

泛型允许你在编写代码时不指定具体的类型,而是在使用的时候再指定。这使得你可以编写更通用的函数、类和接口,能够处理多种类型的数据,而不必针对每种类型都写重复的代码。

2. 在函数中使用泛型:

使用泛型,你可以编写能够适应不同类型数据的函数。以下是一个示例:

function identity<T>(value: T): T {
  return value;
}

const result1 = identity(5); // 类型推断为 number
const result2 = identity("hello"); // 类型推断为 string

在这个示例中,我们定义了一个名为 identity 的泛型函数,它可以接受任意类型的参数并返回相同类型的值。通过使用 <T> 语法,我们声明了一个泛型类型参数 T,它表示类型变量。

3. 在类中使用泛型:

泛型也可以在类中使用,用于处理类的属性和方法的类型。

class Box<T> {
  value: T;

  constructor(value: T) {
    this.value = value;
  }

  getValue(): T {
    return this.value;
  }
}

const numberBox = new Box(42); // 类型推断为 number
const stringBox = new Box("hello"); // 类型推断为 string

在这个例子中,我们创建了一个名为 Box 的泛型类,它可以存储和返回任意类型的值。

4. 在接口中使用泛型:

泛型也可以在接口中使用,使得接口可以适应多种类型的数据结构。

interface Pair<T, U> {
  first: T;
  second: U;
}

const pair1: Pair<number, string> = { first: 1, second: "two" };
const pair2: Pair<string, boolean> = { first: "yes", second: true };

在这个示例中,我们定义了一个名为 Pair 的泛型接口,它可以表示包含两种不同类型值的数据结构。

通过使用泛型,你可以增加代码的灵活性和可重用性,使你的代码能够更好地处理不同类型的数据,而不必写重复的代码。泛型是 TypeScript 中一个强大的工具,它可以帮助你编写更通用和可扩展的代码。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值