TypeScript-数组和元祖类型

数组类型

方式一

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

let val: Array<number>;
val = [1, 3, 5];
console.log(val);

image-20211124202518453

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

let val: Array<number>;
val = [1, 3, 'a'];
console.log(val);

image-20211124202754745

方式二

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

let val: string[];
val = ['c', 'b', 'a'];
console.log(val);

image-20211124202956872

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

let val: string[];
val = [1, 'b', 'a'];
console.log(val);

image-20211124203305265

联合类型

let val: (number | string)[];
val = [1, 'b', 'a'];
console.log(val);

image-20211124203427649

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

let val: (number | string)[];
val = [1, 'b', 'a', false];
console.log(val);

image-20211124203711937

任意类型

let val: any[];
val = [1, 'b', 'a', false];
console.log(val);

image-20211124203807817

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

元祖类型

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

let val: [string, number, boolean];
val = ['BNTang', 18, true];
console.log(val);

image-20211124204446757

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

let val: [string, number, boolean];
val = ['BNTang', 18, true, false];
console.log(val);

image-20211124204647886

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

let val: [string, number, boolean];
val = [18, 'BNTang', true];
console.log(val);

image-20211124204748954

end02

posted @ 2021-11-24 20:49  BNTang  阅读(646)  评论(0编辑  收藏  举报