TypeScript中在数组上指定类型,本质上是限制数组成员的类型。即使用 type[] 语法指定数组成员的类型。
// 此处定义了一个数组 `myFriends`,其成员限定为只能是字符串
let myFriends: string[] = ['Alex', 'Bob'];
如果数组成员允许包含多个类型值,则使用 (type1 | type2 | ...)[] 的语法声明。
// 此处定义了一个数组 `foo`,其成员可以是字符串,也可以是数值
let foo: (string | number)[] = ['Alex', 'Bob', 123];
如果数组的成员是对象,则有如下两种声明方式:
// 方式 1:通过预定义好的类型,声明 `friends` 成员类型
interface Person {
name: string;
}
let friends: Person[] = [ { name: 'Alex' }, { name: 'Bob' } ];
// 方式 2:直接通过字面量类型的形式,声明 `friends` 成员类型
let friends: {
name: string
}[] = [ { name: 'Alex' }, { name: 'Bob' } ];