没有确定返回值类型
function createArray(len: number, val: any): Array<any> {
let arr = []
for (let i = 0
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);