//需求,参数类型保持一致,需要泛型generic
function add<T>(first: string | number, second: string | number) {
return `${first}${second}`;
}
add("1", "1");
function add1<T>(first: T, second: T) {
return `${first}${second}`;
}
function map<T>(params: T[]) {}
function map1<T>(params: Array<T>) {}
add<number>(1, 1);
map<string>(["str"]);
function joinMul<T, P>(first: T, second: P) {
return `${first}${second}`;
}
joinMul<number, string>(1, "1");
joinMul(1, "1"); //类型推断