Typescript的数组类型
文章目录
- 数组类型定义
- 简单数组类型表示法
- 泛型数组类型表示法
- 只读数组
在Typescript中,数组的数据类型为数组类型。
数组类型定义
数组类型的定义有两种方式:简单数组类型表示法、泛型数组类型表示法
简单数组类型表示法
使用数组字面量的语法,在数组元素类型后面添加中括号’[]'来定义数组类型。
语法:arrElement[]
。
arrElement表示是数组元素的类型,中括号表示数组类型,比如:
const arr:number[] = [2,3,4,5,7]
这段代码表示数组所有元素都为number类型。如果数组元素的是复合类型【数组元素可以为多种数据类型】,那么在数组元素类型上使用分组运算符。比如:
const arr:(string | number) = [1,2,'43','54']
泛型数组类型表示法
泛型数组类型,就是使用泛型来表示数组类型,语法:Array<Element>
,比如:
const data:Array<number> = [1,2,3,5];
数组元素类型为复合类型:
const data:Array<string | number> = [1,2,4,'54','65'];
如果数组元素类型比较简单,则使用简单数组类型表示法;如果是复杂类型,比如对象类型或者联合类型,则选择使用泛型数组类型表示法。
只读数组
只读数组的定义方法:
- 使用ReadonlyArray内置类型
- 使用readonly修饰符
- 使用Readonly工具类型
注意: readonly修饰符不允许与泛型数组类型表示法一起使用
另外允许将常规数组类型赋值给只读数组类型,比如:
01 const a: number[] = [0];
02 const ra: readonly number[] = [0];
03
04 const x: readonly number[] = a; // 正确
05
06 const y: number[] = ra; // 编译错误