【TypeScript】基础类型&类型断言
2021/09/09 09:35:55
基础类型
元组 Tuple
相当于规定了每一位上属性类型的数组,并没有 Tuple
这个类型,可以用 type
关键字定义想要的元组类型。
访问越界元素时会用联合类型替代
let x: [string, number];
// Initialize it
x = ["hello", 10]; // OK
x = [10, "hello"]; // Error
x[3] = "word"; // OK, 字符串可以赋值给(string | number)类型
枚举 enum
建立属性值和索引之间的映射,有 const
关键字时只生成常量,否则生成的是一个 object
。
默认从 0 开始为元素编号,可以手动指定。
enum color { red, green, blue };
enum color2 { red = 1, green, blue }; // 相当于指定起始索引 { red = 1, green = 2, blue = 3 }
color['red'] === 0;
color[0] === 'red';
枚举是一组常数的集合,定义一个枚举就相当于定义一组常量,只不过维护起来更加方便。
Object
object
表示非原始类型,也就是除 number
,string
,boolean
,symbol
,null
或undefined
之外的类型。
类型断言
当你在 TypeScript
里使用 JSX
时,只有 as
语法断言是被允许的。
- 尖括号语法
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
- as 语法
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;