数组 Array
TypeScript像JavaScript一样可以操作数组元素。 有两种方式可以定义数组。
第一种,可以在元素类型后面接上[],表示由此类型元素组成的一个数组
let list: number[] = [1, 2, 3];
第二种方式是使用数组泛型,Array<元素类型>:
let list: Array<number> = [1, 2, 3];
元组 Tuple
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为string和number类型的元组。
let x: [string, number];x = ['hello', 10]; // OKx = [10, 'hello']; // Error
枚举 enum
枚举类型用于取值被限定在一定范围内的场景,如一周只有7天,一年只有4季等。
枚举初始化
枚举初始化可以理解为给枚举成员赋值。每个枚举成员都需要带有一个值,在未赋值的情况下, 枚举成员会被赋值为从 0 开始, 步长为 1 递增的数字
enum Direction {Up,Down,Left,Right}console.log(Direction.Up); // 0console.log(Direction.Down); // 1console.log(Direction[0]); // Up
字符串枚举
enum Direction {Up = "Up",Down = "Down",Left = "Left",Right = "Right"}const value = "Up";console.log(Direction.Up === value); // true
常量枚举
常量枚举与普通枚举的区别是,它会在编译阶段被删除,并且不能包含计算成员,提升了性能,会内联枚举的用法,并且不会吧内联编译成javascript代码。
const enum Direction {Up = "Up",Down = "Down",Left = "Left",Right = "Right"}const value = "Up";console.log(Direction.Up === value);
编译后
var value = "Up";console.log("Up" /* Up */ === value);
