Appearance
数据类型
- 定义数据类型可以开发者更准确地描述数据的结构和意图。
字符串
- 字符串是由零个或多个字符组成的序列,用于表示文本。
- 在 TypeScript 中,字符串可以使用单引号、双引号或反引号来定义。
typescript
let str1: string = 'hello';
let str2: string = 'world';
let str3: string = `hello world`;数字
- 数字是用于表示数值的类型,包括整数和浮点数。
- 在 TypeScript 中,数字可以使用十进制、十六进制、二进制或八进制来表示。
typescript
let num1: number = 10;
let num2: number = 3.14;
let num3: number = 0b1010; // 二进制
let num4: number = 0o12; // 八进制
let num5: number = 0x1a; // 十六进制布尔值
- 布尔值是用于表示逻辑值的类型,只有两个可能的值:true 和 false。
- 在 TypeScript 中,布尔值可以直接赋值为 true 或 false。
typescript
let bool1: boolean = true;
let bool2: boolean = false;数组
- 数组是用于存储多个相同类型的元素的有序集合。
- 在 TypeScript 中,数组可以使用方括号 [] 来定义,并且可以在定义时指定数组元素的类型。
typescript
let arr1: number[] = [1, 2, 3];
let arr2: string[] = ['a', 'b', 'c'];
let arr3: boolean[] = [true, false, true];元祖
- 元组是一种特殊的数组,它可以存储不同类型的元素,并且每个元素的类型都可以不同。
- 在 TypeScript 中,元组可以使用方括号 [] 来定义,并且可以在定义时指定元组元素的类型。
typescript
let tuple1: [string, number, boolean] = ['hello', 10, true, 1];枚举
- 枚举是一种特殊的类型,它可以定义一组命名的常量。
- 在 TypeScript 中,枚举可以使用 enum 关键字来定义。
typescript
enum Color {
Red,
Green,
Blue,
}对象
- 对象是一种特殊的类型,它可以存储多个属性和方法。
- 在 TypeScript 中,对象可以使用花括号 {} 来定义,并且可以在定义时指定对象属性的类型。
typescript
let obj1: { name: string; age: number } = { name: 'hello', age: 10 };联合类型
- 联合类型是一种特殊的类型,它可以表示多个类型中的一个。
- 在 TypeScript 中,联合类型可以使用竖线 | 来定义。
typescript
let union1: string | number = 'hello';
let union2: string | number = 10;任意类型
- 任意类型(any)是一种特殊的类型,它可以表示任意类型的值。
- 在 TypeScript 中,变量如果没有指定类型,默认会被推断为 any 类型。
typescript
let any1: any = 10;
let any2: any = 'hello';
let any3: any = true;未知类型
- 未知类型(unknown)是一种特殊的类型,它可以表示未知的类型。
- 与任意类型(any)不同,未知类型在使用前需要进行类型检查或类型断言,以确保安全地使用。
typescript
let unknown1: unknown = 10;
let unknown2: unknown = 'hello';
let unknown3: unknown = true;空类型
- 空类型(void)是一种特殊的类型,它表示没有任何类型的值。
- 通常用于函数没有返回值的情况。
typescript
function voidFunc(): void {
console.log('void function');
}空值类型
- 空值类型(null)和未定义类型(undefined)是两种特殊的类型,它们分别表示值为 null 和 undefined。
- 通常用于表示变量没有被赋值或变量的值未知的情况。
typescript
let null1: null = null;
let undefined1: undefined = undefined;非空断言类型
- 非空断言类型(!)是一种特殊的类型断言,用于告诉 TypeScript 编译器某个值不会为 null 或 undefined。
- 通常用于在确定某个值不为 null 或 undefined 时,避免 TypeScript 编译器的类型检查错误。
typescript
let str: string | null = 'hello';
let len: number = str!.length; // 非空断言类型,告诉编译器 str 不会为 null 或 undefined类型断言
- 类型断言是一种用于告诉 TypeScript 编译器某个值的类型的方法。
- 类型断言可以使用尖括号 <> 或 as 关键字来进行断言。
- 类型断言可以用于将一个类型转换为另一个类型,或者将一个联合类型断言为其中的一个类型。
typescript
let str: string | number = '1';
let num1: number = str as number; // 使用 as 关键字进行类型断言
let num2: number = <number>str; // 使用 <type> 断言