> 文章列表 > 22、数组,数组泛型,类数组,any在数组中的用处

22、数组,数组泛型,类数组,any在数组中的用处

22、数组,数组泛型,类数组,any在数组中的用处

1、数组常用的表达方式

// 数组的表达方式
let fib: number[] = [1,2,3]

表示这是一个纯number类型的数组,如果放入非number类型的,就会报错

2、用接口来表示数组

//  用接口来表示数组
interface NumberArr {[index: number]: number
}
let kl: NumberArr = [1,5,6,9]

3、类数组(Array-like Object)不是数组类型,比如 arguments

// 报错:Type 'IArguments' is missing the following properties from type 'number[]': 
// pop, push, concat, join, and 24 more.
function sum() {let args: number[] =arguments
}

arguments 实际上是一个类数组,不能用普通的数组方式来描述,应该用接口

function sum() {let args: {[index: number]: number;length: number;callee: Function;} = arguments
}
// 常用的类数组都有自己的接口定义,如 IArguments, NodeList, HTMLCollection 等
function sum1() {let args: IArguments = arguments
}// 其实 IArguments 是ts中已经定义好的类型(内置对象),实际上就是
interface IArguments {[index: number]: any;length: number;callee: Function;
}

any在数组中的运用

let list: any[] = ['121212',4545, {ds: '4545'}]