函数


函数作为参数时如何编写类型

function foo() { }
function bar(fn: () => void) {
    fn()
}
bar(foo);

定义常量时,编写函数的类型

函数类型固定的 () => void 括号里面写参数 void返回值可以是任何类型的,如果确定类型也可以写number之类的

const add: (num1: number, num2: number) => void = function (num1: number, num2: number) {
    return num1 + num2;
}
console.log(add(1,2));

例子

function computed(n1: number, n2: number, fn: (num1: number, num2: number) => number) {
    return fn(n1, n2);
}
const s1 = computed(10, 20, function (a1, a2) {
    return 123;
})
console.log(s1);
//如果有变量名重复可以写 export
export { }

参数可选和默认值

可选参数必须在后面,也就是说可选参数后面不能有确定的参数
函数的参数可以有默认值

function foo(s1: number, s2: number = 3) {
    console.log(s1, s2);
}

//可以不传哟默认值的参数
foo(10);

函数的重载

function add(num1: number, num2: number): number;
function add(num1: string, num2: string): string;

function add(num1: any, num2: any): any {
    return num1 + num2
}
add(1, 2)
// 在函数重载中,实现函数是不能直接被调用的
ts