普通的声明方式
//类型加中括号
letarr:number[] = [123]
//这样会报错定义了数字类型出现字符串是不允许的
letarr:number[] = [1,2,3,'1']
//操作方法添加也是不允许的
letarr:number[] = [1,2,3,]
letarr:number[] = [1,2,3,4];//数字类型的数组
letarr2:string[] = ["1","2","3","4"];//字符串类型的数组
letarr3:any[] = [1,"2",true,undefined,[],{}];//任意类型的数组
letarr4:number[][][] = [[[]],[[]],[[]]]
//这个也能够决定你二维数组还是三维数组想要套几层就写几层
泛型 -- Array <类型>
规则 Array <类型>
letarr1:Array<number>= [1,2,3,4,5]
letarr2:Array<string>= ["1,2,3,4,5"]
letarr3:Array<boolean>= [true]
//泛型数组套娃写法(还能够决定数组里面数组的类型之类的)
letarr4:Array<Array<number>>= [[123],[456]]
类数组 -- arguments
是所有参数的一个集合
functionArr(...args:any):void{//...args为ES6的解构方式,任意类型,voidwei不能有返回值
console.log(arguments)//输出{'0':4,'1':56,'2':789}
letarr:number[] =arguments//会报错,报缺少类型number[]的以下属性:pop,push,concat,join
letarr:IArguments=arguments//解决方法
//其中 IArguments 是 TypeScript 中定义好了的类型,它实际上就是:
interfaceIArguments {
[index: number]: any;
length: number;
callee: Function;
}
Arr(4,56,789)
接口表示数组
一般用来描述类数组
interfaceArrNumber {
[index: number]: number;//后面的才是定义类型的
//[index: number]: string;这个就是定义字符串的了
}
letArr: ArrNumber= [1, 2, 3, 4, 5];
//let Arr: ArrNumber = ["1, 2, 3, 4, 5"];
//表示:只要索引的类型是数字时,那么值的类型必须是数字。