数组类型
数组的类型
类型[]
const arr: number[] = [1, 2, 3] // 数字类型数组
const arr: number[] = [1, 2, 3, '4'] // error
arr.unshift('4') // error
const arr: any[] = [1, '2', true] // 任意类型
数组泛型
const arr: Array<number> = [1, 2, 3]
用接口表示数组
interface NumberArray {
[index: number]: number
}
const arr: NumberArray = [1, 2, 3]
多维数组
const arr: number[][] = [[1, 2], [3, 4]]
arguments类数组
function Arr(...args: any): void {
console.log(arguments)
// 错误的arguments 是类数组不能这样定义
const arr: number[] = arguments
}
Arr(1, 2, 3)
function Arr(...args: any): void {
console.log(arguments)
// ts内置对象IArguments 定义
const arr: IArguments = arguments
}
Arr(1, 2, 3)
// 其中 IArguments 是 TypeScript 中定义好了的类型
interface IArguments {
[index: number]: any
length: number
callee: Function
}
any 在数组中的应用
一个常见的例子数组中可以存在任意类型
const list: any[] = [1, 'string', false, {name: 'mk'}]