ts 数组的类型

本文探讨了TypeScript中数组类型的严格限制,展示了如何定义只包含特定类型元素的数组,以及如何使用any类型来创建可以包含多种类型元素的数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

let fibonacci: number[] = [1, 1, 2, 3, 5];

//数组的项中不允许出现其他的类型:
// let fibonacci: number[] = [1, '1', 2, 3, 5]; 报错



//一个比较常见的做法是,用 any 表示数组中允许出现任意类型:
let list: any[] = ['xcatliu', 25, { website: 'http://xcatliu.com' }];

 

### 定义复杂数组类型 在 TypeScript 中,可以使用多种方式来定义复杂的数组类型。这些方法不仅限于简单的数值或字符串数组,还可以包括对象、联合类型以及嵌套结构。 #### 使用泛型定义灵活的数组类型 通过引入泛型参数 `T` 可以创建更加通用化的函数或者变量声明: ```typescript function createArray<T>(...items: T[]): T[] { return items; } ``` 这允许传入任意数量相同类型的项目并返回一个由它们组成的数组[^1]。 #### 复杂的对象数组 当涉及到存储具有特定属性的对象集合时,可以通过接口(Interfaces)预先设定好每项应有的字段及其对应的类型: ```typescript interface Person { name: string; age?: number; // Optional property } const people: Person[] = [ {name: "Alice"}, {name: "Bob", age: 30}, ]; ``` 这里展示了如何利用可选属性标记 (`?`) 来表示某成员可能不存在的情况[^2]。 #### 联合类型与元组(Tuple) 对于那些既定长度且各位置上元素类型已知的情形,则推荐采用元组形式;而如果只是想要表达几种不同可能性之一的话就可以考虑运用联合类型(`|`) : ```typescript // Tuple example let tupleExample: [string, boolean | null]; tupleExample = ["hello", true]; // OK tupleExample = ["world", false]; // Also ok tupleExample = ["example", undefined]; // Error! // Union Type Array Example type StringOrNumber = string | number; const mixedValues: StringOrNumber[] = ['one', 2, 'three']; ``` 上述例子说明了怎样混合不同类型的数据在一个固定大小列表里或是不定长但限定种类范围内的容器之中.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值