共计 字 • 阅读约
min
1. 类型 + []
最简单的方式定义数组
let arr: number[] = [1, 2, 3, 4, 5]
此时,数组中只允许 number
类型的值,并且后续修改数组的值也必须是 number
类型
// 只允许number
let arr: number[] = [1, 2, 3, 4, '5']
// ERROR: Type 'string' is not assignable to type 'number'.
// 修改数组值也必须是number
arr.push('123')
// Argument of type '"123"' is not assignable to parameter of type 'number'.
2. 数组泛型
使用数组泛型 Array<elemtyp>
表示数组
let arr: Array<number> = [1, 2, 3, 4, 5]
3. 接口表示数组
数组本质上是一个对象 Object
,所以还可以使用对象的类型 -- 接口来表示数组
interface INumberArray {
[index: number] :number;
}
let arr: INumberArray = [1, 2, 3, 4, 5]
4. 类数组
interface INumberArray {
[index: number] :number;
length: number;
}
在 JavaScript 中,函数的参数集合 arguments
就是一个类数组,接口是:
function nums(){
let args: {
[index: number]: number;
length: number;
callee: Function;
} = arguments;
我们自己定义了 arguments
接口类型,实际上这是多次一举的。TypeScript 中,常见类数组都已经定义好了,如:IArguments
, NodeList
, HTMLCollection
,我们可以直接使用
function nums(){
let args: IArguments = arguments
}
5. 任意属性数组
定义一个任意数组,使用 any 来表示。任意数组中任何类型值都是合法的
let arr: any[] = [1, '2', null, undefined, true, false, {name:'tom'}]
文章更新于: 2021-4-16 0:39:7