TypeScript 提供了多种基本类型,这些类型可以帮助你在代码中定义变量、函数参数和返回值的类型。以下是 TypeScript 中的基本类型:
1. 布尔类型 (boolean
)
let isDone: boolean = false;
2. 数字类型 (number
)
- 表示数值,包括整数和浮点数。TypeScript 中的所有数字都是浮点数。
let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;
3. 字符串类型 (string
)
- 表示文本数据,可以使用单引号 (
'
)、双引号 ("
) 或反引号 (`
) 来定义字符串。
let color: string = "blue";
color = 'red';
let fullName: string = `Bob Bobbington`;
let age: number = 37;
let sentence: string = `Hello, my name is ${fullName}. I'll be ${age 1} years old next month.`;
4. 数组类型 (array
)
- 表示一组相同类型的元素。有两种定义数组的方式:
- 在元素类型后加上
[]
。
- 使用泛型数组类型
Array<元素类型>
。
let list1: number[] = [1, 2, 3];
let list2: Array<number> = [1, 2, 3];
5. 元组类型 (tuple
)
- 表示一个已知元素数量和类型的数组,各元素的类型不必相同。
let x: [string, number];
x = ["hello", 10]; // OK
x = [10, "hello"]; // Error
6. 枚举类型 (enum
)
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
7. 任意类型 (any
)
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
8. 空类型 (void
)
function warnUser(): void {
console.log("This is a warning message");
}
9. null 和 undefined
- 表示
null
和 undefined
类型。它们是所有类型的子类型。
let u: undefined = undefined;
let n: null = null;
10. never 类型
- 表示永远不会发生的值的类型,通常用于抛出异常或无限循环的函数。
function error(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {}
}
11. 对象类型 (object
)
- 表示非原始类型的类型,即不是
number
、string
、boolean
、symbol
、null
或 undefined
的类型。
let obj: object = { key: "value" };
12. 联合类型 (union
)
let value: string | number;
value = "hello";
value = 42;
13. 字面量类型 (literal
)
let direction: "north" | "south" | "east" | "west";
direction = "north"; // OK
direction = "up"; // Error
14. 类型断言 (type assertion
)
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
总结
TypeScript 提供了丰富的基本类型,包括 boolean
、number
、string
、array
、tuple
、enum
、any
、void
、null
、undefined
、never
、object
、联合类型和字面量类型等。这些类型帮助开发者在编译时捕获类型错误,提高代码的可靠性和可维护性。