4月28日总结

发布时间 2023-04-27 17:41:05作者: lmyyyy

当我们在编写 TypeScript 代码时,经常会遇到需要通用(Generic)的情况,这时候,泛型就是我们的好帮手了。在本篇文章中,我们将深入介绍 TypeScript 泛型的概念以及如何使用。
什么是泛型?

在编程语言中,泛型指的是参数化类型的概念。也就是说,我们可以定义一个函数、接口或类等,能够处理不同类型的数据,而不是只能处理一种类型的数据。这使得我们的代码更加灵活、通用、可复用。

下面是一个简单的泛型函数的例子:

function identity(arg: T): T {
return arg;
}

let output = identity("hello world");

console.log(output); // 输出 hello world

上面这个函数用于返回的值与传入的参数类型相同,这类函数通常称为 Identity 函数。这里使用了 来代表泛型类型,在函数声明时,我们用具体类型替换了 ,使得函数可以处理任意类型的数据。
泛型类

我们也可以编写在类中使用泛型的代码。下面是一个简单的例子:

class Queue {
private list: T[] = [];

push(item: T) {
    this.list.push(item);
}

pop() {
    return this.list.shift();
}

}

let queue = new Queue();
queue.push("first element");
queue.push("second element");
console.log(queue.pop()); // 输出 first element
console.log(queue.pop()); // 输出 second ele