constsum: (a: number, b: number) =>number = (a, b) => a + b
接口
函数的定义也能通过结果来实现。用接口来实现基本和对象的定义一样,就不多说废话了。
1 2 3 4 5 6 7
interfaceISum { (a: number, b: number): number }
constsum: ISum = (a, b) => a + b
console.log(sum(11, 22))
可选参数
可选参数和对象中的可选属性一样,都是通过?:来定义。
在函数中使用需要注意:必选参数不能在可选参数后面
重载
重载就是让一个函数能够实现接收不同数量或类型的参数时,做不同的处理。
比如:一个函数当参数是数字时,返回参数乘积,当参数是字符串时,返回字符串拼接结果。
实现:
1 2 3 4 5 6 7 8 9 10 11 12 13
functionmyFunc(a: number | string, b: number | string): number | string | void { if (typeof a === 'number' && typeof b === 'number') { return a * b } elseif (typeof a === 'string' && typeof b === 'string') { return a + b } }