TypeScript-初级-07-泛型
泛型 泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 简单的例子 首先,我们来实现一个函数 createArray ,它可以创建一个指定长度的数组,同时将每一项都填充一个默认值: function createArray(length: number, value: any): Array<any> { let result = []; for (let i = 0; i < length; i++) { result[i] = value; } return result; } createArray(3, 'x'); // ['x', 'x', 'x'] 上例中,我们使用了之前提到过的数组泛型来定义返回值的类型。 这段代码编译不会报错,但是一个显而易见的缺陷是,它并没有准确的定义返回值的类型: Array<any> 允许数组的每一项都为任意类型。但是我们预期的是,数组中每一项都应该是输入的 value 的类型。 这时候,泛型就派上用场了: function createArray<T>(length: number, value: T): Array<T> { let result: T[] = []; for (let i = 0; i < length; i++) { result[i] = value;