TypeScript 类、泛型的使用实践记录 | 青训营

69 阅读2分钟

在 TypeScript 中,类和泛型是强大的工具,可以帮助你编写更具灵活性和安全性的代码。下面我将为你介绍一些关于 TypeScript 类、泛型的使用实践记录,包括泛型的使用方法、场景,以及如何使用类型约束来提高代码的灵活性和安全性。

  1. 类的使用:

    • 定义类:使用class关键字来定义一个类,可以包含属性、方法和构造函数。
    • 继承类:使用extends关键字可以实现类的继承,子类可以继承父类的属性和方法,并可以添加自己的额外功能。
    • 访问修饰符:使用publicprivateprotected等访问修饰符来控制属性和方法的可访问性。
    • 实例化类:通过new关键字可以创建类的实例,然后通过实例来访问类的属性和方法。

类的基本定义与使用

在 TypeScript 中,类的定义与 JavaScript 类似,但可以添加类型注解来指定属性和方法的类型。以下是一个简单的类的例子:

image.png

泛型的基本概念

泛型是 TypeScript 中用于创建可以在多个类型上工作的可重用组件的工具。它允许你在定义函数、类或接口时延迟指定具体的类型。以下是一个简单的泛型函数示例

image.png

在这里,<T> 表示泛型参数。在调用 identity 函数时,编译器会根据传入的参数类型自动推断出返回值的类型。

使用泛型类

泛型也可以用于类的定义,使其具有更大的灵活性。例如,你可以创建一个存储任意类型数据的容器类:

image.png

泛型约束

有时候,你希望泛型能够适用于特定类型或满足特定的条件。这时可以使用泛型约束。例如,你想确保泛型类型有某个属性:

image.png

在这个例子中,<T extends HasLength> 表示泛型类型必须符合 HasLength 接口的要求,即具有 length 属性。

泛型的场景和优势:

增强代码的灵活性:泛型可以使函数或类适用于多种类型,提高代码的复用性和通用性。

类型安全性:使用类型约束可以确保函数或类的参数满足特定条件,避免潜在的类型错误。

数据结构的抽象:泛型允许对数据结构进行抽象和封装,使代码更具可读性和可维护性。