最常用的形式:
[类型 + 方括号」来表示:
let fibnaci: number[] = [1,2,3,5]
数组的一些方法的参数也会根据数组在定义时约定的类型进行限制。
数组泛型:
数组泛型(Array Generic)Array<elemType>
let fibonacci: Array<number> = [1, 1, 2, 3, 5];
用接口表示数组
interface NumberArray {
[index: number]: number;
}
let fibonacci: NumberArray = [1, 1, 2, 3, 5];
NumberArray 表示:只要索引的类型是数字时,那么值的类型必须是数字。
一般不会这么做!但却常用来表示类数组,比如:
function sum() {
let args: number[] = arguments;
}
arguments作为函数参数是一个类数组,不能用普通的数组的方式来描述,而应该用**接口**:
function sum() {
let args: {
[index: number]: number;
length: number;
callee: Function;
} = arguments;
}
// 或者
function sum() {
let args: IArguments = arguments
}
// 常用的类数组都有自己的接口定义,如 IArguments, NodeList, HTMLCollection 等
let allDiv: NodeList = document.querySelectorAll('div');
数组项为任意类型
let list: any[] = ['xcatliu', 25, { website: 'http://xcatliu.com' }];