函数
函数类型
let add3:(x:number,y:number)=>number
add3=(arg1:number,arg2:number):number=>arg1+arg2
如果定义全局了一个新的变量,需要与函数之前两个变量相加,是不需要定义在函数类型里面
let arg3 = 3
add3=(arg1:number,arg2:number):number=>arg1+arg2+arg3
接口定义函数类型
interface Add3{
(x:number,y:number):number
}
// 或者类型别名
type Add3 = (x:number,y:number)=>number
let addFunc:Add3
addFunc=(arg1:number,arg2:number)=>arg1+arg2
参数
let addFunc
addFunc=(arg1:number,arg2:number,arg3:number):number=>arg1+arg2+(arg3?arg3:0)
可选默认参数
const addFunction=(x:number,y:number=3)=>x+y
可选参数
const handleData = (arg1:number,...args:number[])=>{}
重载
function handleData(x:string):string[]
function handleData(x:number):number[]
function handleData(x:any):any{
if(typeof x=== 'string'){
return x.split('')
}else{
return x.toString().split('').map((item:any)=>Number(item))
}
}
handleData('abc')