首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TypeScript-数组和元祖类型

TypeScript-数组和元祖类型

原创
作者头像
杨不易呀
发布2023-09-28 18:21:06
发布2023-09-28 18:21:06
4280
举报
文章被收录于专栏:杨不易呀杨不易呀

前言

介绍其基本概念、语法特性以及如何开始使用它来构建类型安全的JavaScript应用程序。无论您是新手还是有经验的开发者,都能在这篇文章中找到有关TypeScript的重要信息和实用技巧。让我们一起探索这个强大的编程语言!

数组类型

方式一

需求:要求定义一个数组, 这个数组中将来只能存储 数值 类型的数据:

代码语言:typescript
复制
let val: Array<number>;
val = [1, 3, 5];
console.log(val);
image-20211124202518453
image-20211124202518453

如上代码的含义为表示定义了一个名称叫做 val 的数组, 这个数组中将来只能够存储 数值 类型的数据,错误示例如下:

代码语言:typescript
复制
let val: Array<number>;
val = [1, 3, 'a'];
console.log(val);
image-20211124202754745
image-20211124202754745

方式二

需求:要求定义一个数组, 这个数组中将来只能存储 字符串 类型的数据:

代码语言:typescript
复制
let val: string[];
val = ['c', 'b', 'a'];
console.log(val);
image-20211124202956872
image-20211124202956872

如上代表的含义表示定义了一个名称叫做 val 的数组, 这个数组中将来只能够存储 字符串 类型的数据,错误示例如下:

代码语言:typescript
复制
let val: string[];
val = [1, 'b', 'a'];
console.log(val);
image-20211124203305265
image-20211124203305265

联合类型

代码语言:typescript
复制
let val: (number | string)[];
val = [1, 'b', 'a'];
console.log(val);
image-20211124203427649
image-20211124203427649

如上代表的含义表示定义了一个名称叫做 val 的数组, 这个数组中将来既可以存储 数值 类型的数据, 也可以存储 字符串 类型的数据,错误示例如下:

代码语言:typescript
复制
let val: (number | string)[];
val = [1, 'b', 'a', false];
console.log(val);
image-20211124203711937
image-20211124203711937

任意类型

代码语言:typescript
复制
let val: any[];
val = [1, 'b', 'a', false];
console.log(val);
image-20211124203807817
image-20211124203807817

如上代表的含义表示定义了一个名称叫做 val 的数组, 这个数组中将来可以存储 任意 类型的数据,没有错误示例

元祖类型

TS 中的元祖类型其实就是数组类型的扩展,元祖用于保存 定长, 定数据类型 的数据

代码语言:typescript
复制
let val: [string, number, boolean];
val = ['BNTang', 18, true];
console.log(val);
image-20211124204446757
image-20211124204446757

如上代表的含义表示定义了一个名称叫做 val 的元祖, 这个元祖中将来可以存储 3 个元素, 第一个元素必须是 字符串 类型, 第二个元素必须是 数字 类型, 第三个元素必须是 布尔 类型超过指定的长度会报错,错误示例如下:

代码语言:typescript
复制
let val: [string, number, boolean];
val = ['BNTang', 18, true, false];
console.log(val);
image-20211124204647886
image-20211124204647886

存储元素的类型位置不能改变,例如第一个你指定为存储字符串就一定存储的是字符串的内容如果不是会报错如下:

代码语言:typescript
复制
let val: [string, number, boolean];
val = [18, 'BNTang', true];
console.log(val);
end02
end02
输入图片说明
输入图片说明

最后

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

输入图片说明
输入图片说明

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组类型
    • 方式一
    • 方式二
  • 联合类型
  • 任意类型
  • 元祖类型
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档