一、什么是泛型?
泛型是一种类型的参数化,可以用来在函数、类、接口等地方进行类型的约束。通俗来说,就是指某一类型。
二、泛型的作用
可以在编写函数或类时动态地指定参数的类型,从而提高代码的灵活性和可复用性。泛型还能帮助我们在编译期间发现一些潜在的类型错误,使得代码更加健壮。
三、案例
//泛型
class Car {
name: string;
constructor(name: string) {
this.name = name
}
}
class Tesla extends Car {
tesla() {
document.write("我是", this.name);
}
}
class Bmw extends Car {
bmw() {
document.write("我是", this.name);
}
}
class CarModel {
arrays: Map<number, Car> = new Map<number, Car>();
constructor() {
let tesla = new Tesla("特斯拉");
let bmw = new Bmw("宝马");
this.arrays.set(1, tesla);
this.arrays.set(2, bmw);
}
getCar<T extends Car>(id: number): T {
return this.arrays.get(id) as T;
}
}
let car = new CarModel();
car.getCar<Tesla>(1).tesla();//输出"我是特斯拉"
car.getCar<Bmw>(2).bmw();//"输出我是宝马"