数组类型

数组的类型

类型[]

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'}]
贡献者: mankueng