TypeScript 是一种强类型编程语言,它建立在 JavaScript 的基础上,为开发者提供了更丰富的类型系统和更严格的编译时检查。TypeScript 的基础类型主要包括以下几种:

  1. 布尔类型(Boolean)
  • 表示逻辑值,可以是 truefalse
  • 示例:let isDone: boolean = false;
  1. 数字类型(Number)
  • 表示双精度 64 位浮点类型,也可以处理整数。
  • 示例:let age: number = 25;
  1. 字符串类型(String)
  • 表示文本数据,可以是单引号、双引号或模板字符串。
  • 示例:let name: string = "Alice";
  1. 数组类型(Array)
  • 表示有序的元素集合,每个元素可以是任意类型。
  • TypeScript 提供了两种定义数组的方式:
  • 类型后跟 [],如 let numbers: number[] = [1, 2, 3];
  • 使用泛型 Array<T>,如 let numbers: Array<number> = [1, 2, 3];
  1. 元组类型(Tuple)
  • 表示已知元素数量和类型的数组,但各元素类型可以不同。
  • 示例:let person: [string, number] = ["Alice", 25];
  1. 枚举类型(Enum)
  • 为一组数值赋予友好的名字,增加代码的可读性和可维护性。
  • 示例:enum Color {Red, Green, Blue}; let c: Color = Color.Green;
  1. 任意类型(Any)
  • 表示可以是任何类型,通常用于那些我们还不清楚类型的变量。
  • 示例:let notSure: any = 4; notSure = "maybe a string instead";
  1. 空类型(Void)
  • 表示没有任何类型,通常用于没有返回值的函数。
  • 示例:function warnUser(): void { console.log("This is my warning message"); }
  1. Null 和 Undefined
  • null 表示对象值缺失,undefined 用于初始化变量为一个未定义的值。
  • TypeScript 中,nullundefined 各有自己的类型。
  1. Never 类型
  • 表示的是那些永不存在的值的类型。例如,总是会抛出异常或根本就不会有返回值的函数表达式的返回值类型。
  • 示例:function error(message: string): never { throw new Error(message); }
  1. 对象类型(Object)
  • 表示非原始类型,即除了 numberstringbooleansymbolnullundefined 之外的类型。
  • 示例:let person: object = { name: "Alice", age: 25 };
  1. 未知类型(Unknown)
  • 表示未知类型,类似于 any 类型,但更加安全。使用 unknown 类型的变量时,需要进行类型检查或类型断言。
  • 示例:let value: unknown = "Hello"; if (typeof value === "string") { console.log(value.toUpperCase()); }
  1. Symbol
  • 表示唯一的标识符,通常用作对象属性的键。
  • 示例:let id: symbol = Symbol("id"); let obj = { [id]: "12345" };
  1. BigInt
  • 表示任意精度的整数,可以处理超出 number 类型表示范围的整数。
  • 示例:let bigNumber: bigint = 9007199254740991n;

这些基础类型使得 TypeScript 能够为变量、函数参数和函数返回值等提供明确的类型注解,从而增强代码的可读性、可维护性和安全性。