1.方法一:普通注解
function functionName(param1: Type1, param2: Type2, ...): ReturnType {
// 函数体
}
function add(a: number, b: number): number {
return a + b;
}
console.log(add(2, 3)); // 输出 5
console.log(add("2", "3"));
2.方法二:使用泛型
function mergeArrays<T>(arr1: T[], arr2: T[]): T[] {
return [...arr1, ...arr2];
}
const arr3 = mergeArrays<string>(["a", "b"], ["c"]); // 指定 T 为 string 类型
console.log(arr3); // 输出 ["a", "b", "c"]
const arr4 = mergeArrays<number>([1, 2], [3, 4]); // 指定 T 为 number 类型
console.log(arr4); // 输出 [1, 2, 3, 4]
3.箭头函数泛型注解
const createArray = <T>(a: T, b: T): T[] => {
return [a, b];
};
const arr1 = createArray<string>("hello", "world"); // 返回值类型为 string[]
console.log(arr1); // 输出 ["hello", "world"]
const arr2 = createArray<number>(1, 2); // 返回值类型为 number[]
console.log(arr2); // 输出 [1, 2]