引言
在前端开发中,TypeScript在大型项目中越来越常见,这得益于TypeScript的类和泛型的存在,它们的存在让前端开发越来越正规化,标准化,现在我们就来探讨下TypeScript 类、泛型的使用实践记录
TypeScrpit类
在 TypeScript 中,我们可以使用 class 关键字来定义一个类。让我们来看一个简单的例子:
typescript
复制代码
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`我是 ${this.name}`);
}
}
上面的代码定义了一个名为 Animal 的类,它有一个名为 name 的属性和一个名为 sayHello 的方法。构造函数 constructor 用于初始化类的属性。
创建对象
通过类可以创建对象的实例。我们可以使用 new 关键字来创建类的实例,然后访问对象的属性和方法。下面是一个例子:
typescript
复制代码
const cat = new Animal("喵喵");
cat.sayHello(); // 输出:我是喵喵
上面的代码创建了一个名为 cat 的 Animal 类的实例,并调用了它的 sayHello 方法。
类的继承
继承是面向对象编程的一个重要特性,它允许我们创建一个新类,并从现有的类中继承属性和方法。在 TypeScript 中,我们可以使用 extends 关键字来实现继承。
让我们创建一个 Cat 类,它继承自 Animal 类:
typescript
复制代码
class Cat extends Animal {
// 可以添加 Cat 类特有的属性和方法
}
通过继承,Cat 类继承了 Animal 类的属性和方法,我们还可以在 Cat 类中添加特定于猫的属性和方法。
泛型
泛型是一种在代码中使用类型参数的方式,它增强了代码的灵活性和重用性。在 TypeScript 中,我们可以使用泛型来创建泛型类。
让我们来看一个简单的例子,实现一个泛型的堆栈类:
typescript
复制代码
class Stack<T> {
private items: T[] = [];
push(item: T) {
this.items.push(item);
}
pop(): T {
return this.items.pop();
}
}
上面的代码中,Stack 类使用了类型参数 T,用于表示堆栈中的元素类型。这样,我们可以在使用 Stack 类时指定元素的具体类型。