手牵手系列之TypeScript函数与泛型

手牵手系列之TypeScript函数与泛型

函数

函数类型

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')

泛型

上一篇:linux vmstat命令


下一篇:算数运算符