ts定义数组对象类型
时间: 2024-12-24 15:06:41 浏览: 4
TS视频02
在 TypeScript 中,你可以使用 `Array` 构造函数配合类型断言或接口来定义数组对象类型。这里有几种常见的方式:
1. **泛型类型**:
```typescript
type MyArray<T> = Array<T>; // 定义了一个元素类型为 T 的数组
const numbers: MyArray<number> = [1, 2, 3]; // 数组元素都是数字
```
2. **使用 interface**:
```typescript
interface NumberItem {
value: number;
}
interface CustomArray extends Array<NumberItem> {
items: NumberItem[];
}
let customArray: CustomArray = [{ value: 1 }, { value: 2 }];
```
这里创建了一个 `CustomArray` 接口,它的元素类型是自定义的 `NumberItem` 对象。
3. **使用类型别名**(alias):
```typescript
declare type Person = { name: string, age: number };
type PeopleArray = Person[]; // 数组元素为对象,每个对象包含 name 和 age 属性
```
4. **联合类型** (union types) 可以用于定义数组元素来自多种类型的数组:
```typescript
type StringOrNumber = string | number;
const mixedArray: StringOrNumber[] = ['hello', 123];
```
当你声明数组类型时,TypeScript会在编译阶段帮助你捕捉可能的类型错误,比如试图添加非预期类型的元素到数组中。
阅读全文