TypeScript 中的枚举和泛型使用指南
1. 泛型简介
在 Array 接口的 API 中看到 T 类型,这表明其创建者启用了对泛型的支持。即便你不打算创建自己的泛型类型,但在阅读他人代码或 TypeScript 文档时,理解泛型的语法是非常重要的。
2. 创建自己的泛型类型
2.1 泛型接口的创建
假设你有一个 Rectangle 类,需要添加比较两个矩形大小的功能。如果不采用面向接口编程的概念,你可能会直接在 Rectangle 类中添加一个 compareRectangles() 方法。但如果采用面向接口编程的概念,你会这样思考:“今天我需要比较矩形,明天可能需要比较其他对象。我会聪明地声明一个带有 compareTo() 函数的接口,这样 Rectangle 类以及未来的其他类都可以实现这个接口。比较矩形的算法与比较三角形的算法不同,但至少它们有一个共同点,即 compareTo() 方法的签名是相同的。”
如果不熟悉泛型类型,你可能会这样定义接口:
interface Comparator {
compareTo(value: any): number;
}
下面是使用这个非泛型接口的 Rectangle 和 Triangle 类的部分实现:
interface Comparator {
compareTo(value: any): number;
}
class Rectangle i
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



