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