TypeScript-泛型

74 阅读1分钟

没有确定返回值类型

function createArray(len: number, val: any): Array<any> {
    let arr = [];
    for (let i = 0; i < len; i++) {
        arr[i] = val
    }
    return arr;
}
createArray(3, 1);

使用泛型进行改造

function createArray<T>(len: number, val: T): Array<T> {
    let arr = [];
    for (let i = 0; i < len; i++) {
        arr[i] = val
    }
    return arr;
}
var strArray: string[] = createArray<string>(3, '1');
// 或
var numArray: number[] = createArray(3, '1');

接口当中使用泛型

interface ICreate {
    <T>(name: string, value: T): Array<T>
}
let func: ICreate = function<T>(name: string, value: T): Array<T> {
    return [];
}
var strArr: number [] = func("张三", 2);