string
(字符串类型)表示文本内容的类型。
示例:
let message: string = "Hello, TypeScript!";
// message只能存储字符串
number
(数字类型)表示所有数字类型(包括整数和浮点数)。
示例:
let age: number = 30;
// age只能存储数字
boolean
(布尔类型)表示 true
或 false
值。
示例:
let isDone: boolean = false;
// isDone只能存储true或false
array
(数组类型)表示相同类型元素的集合。
示例:
let numbers: number[] = [1, 2, 3, 4, 5];
// numbers只能存储数字数组
tuple
(元组类型)表示一个固定数量和类型的数组。
示例:
let person: [string, number] = ["Alice", 25];
// person必须包含一个字符串和一个数字,顺序不能变
enum
(枚举类型)表示一组命名常量。
示例:
enum Color { Red, Green, Blue }
let c: Color = Color.Green;
// c只能存储Color枚举中的值
any
(任意类型)表示可以是任意类型,绕过类型检查。
示例:
let randomValue: any = 10;
randomValue = "Hello";
randomValue = true;
// randomValue可以存储任何类型的值
void
(空类型)通常用于表示没有返回值的函数。
示例:
function logMessage(message: string): void {
console.log(message);
}
// logMessage不返回任何值
null
和 undefined
表示空值和未定义的值。
示例:
let u: undefined = undefined;
let n: null = null;
// u只能存储undefined,n只能存储null
object
(对象类型)表示非原始类型的值。
示例:
let person: object = { name: "John", age: 30 };
// person只能存储对象
never
(永不存在的值的类型)表示不会出现的值,通常用于永远不会返回的函数或抛出异常的函数。
示例:
function error(message: string): never {
throw new Error(message);
}
// error函数永远不会有返回值
unknown
(未知类型)类似 any
,但使用时需要先进行类型检查。
示例:
let someValue: unknown = "Hello";
if (typeof someValue === "string") {
console.log(someValue.toUpperCase());
}
// 需要进行类型检查,才能使用某些类型特有的方法
这些是 TypeScript 中常用的类型,它们帮助开发者更好地约束和理解代码的行为。