1.数组类型
1.1类型 + 方括号
let arry:number[]=[5,2,0,1,3,1,4]
1.2 数组泛型
let arry2:Array<number>=[5,2,0,1,3,1,4]
1.3接口类型
interface makeArryRule{[index:number]:number
}let arry3:makeArryRule=[5,2,0,1,3,1,4]
1.4伪数组
说明: arguments其实就是伪数组。因为是伪数组所有要用接口类型声明。
function fun1(){let args:{[index:number]:number,length:number,callee:Function}=arguments
}
2.函数类型
2.1常用写法
// 输入类型控制、输出类型控制
const fun2=(x:number,y:number):number=>{return x+y
}
2.2完整写法
// 函数表达式,实际右边的函数已经赋值到左边了,左边的声明犹如花瓶般好看但无用
let fun3:(x:number,y:number)=>number=function(x:number,y:number):number{return x+y
}
2.3接口定义
interface fun3Rule{(a:string,b:string,c:string):string
}let fun4:fun3Rulefun4=function(a,b,c){return a+b+c
}
2.4 可选参数
function fun5(a:number,b?:number){return a?a:b
}
fun5(5)
fun5(5,6)
2.5剩余参数
function fun6(arry:any[],...item:any[]){item.map(item=>arry.push(item))
}let arry4:number[]=[]
fun6(arry4,5,6,4)