function sumAdd(arg1: number, arg2: number): number {
return arg1 + arg2
}
const sumAdd1 = (ar1: number, ar2: number): number => ar1 + ar2
let sum: (x: number, y: number) => number;
sum = (arg1: number, arg2: number) => arg1 + arg2;
let arg3 = 3;
sum = (arg1: number, arg2: number) => arg1 + arg2 + arg3;
interface IFunc {
(x: number, y: number): number;
}
type Ifunc1 = (x: number, y: number) => number;
let func2: Ifunc1;
func2 = (n1: number, n2: number) => n1 + n2;
console.log(func2(2, 6));
let func3;
func3 = (a1: number, a2: number, a3?: number) => a1 + a2 + (a3 ? a3 : 0);
console.log(func3(2, 3));
type Ifunc2 = (a1: number, a2: number, a3?: number) => number;
let func4: Ifunc2;
func4 = (a: number, b: number) => a + b;
func4 = (a: number, b: number, z?: number) => a + b + (z ? z : 0);
console.log(func4(1, 9));
let func5 = (x: number, y: number = 4) => x + y
console.log(func5(3, 8));
const handleData = (g1: number, ...gs: number[]) => {
console.log(g1, ...gs);
}
handleData(3, 3, 4, 5, 6, 6);
- 函数重载 根据传入不同类型的参数,返回不同类型的结果
function handleData1(x: number): number[];
function handleData1(x: string): string[];
function handleData1(x: any): any {
if (typeof x === "string") {
return x.split("");
} else if (typeof x === "number") {
return x.toString().split("").map((item) => Number(item));
}
}
console.log(handleData1(321),handleData1('qwe'))