你了解 TypeScript 的数据类型有哪些吗?

TypeScript 提供了多种数据类型以增强 JavaScript 的静态类型检查能力,包括基本类型和高级类型。

TypeScript 中等 数据类型 基础

TypeScript 提供了多种数据类型以增强 JavaScript 的静态类型检查能力,包括基本类型和高级类型。以下是主要分类及示例:

基本类型

  1. boolean(布尔类型): 表示真/假值(truefalse)。常用在逻辑判断中。
    let isValid: boolean = true;
    
  2. number(数字类型): 表示所有数字,包括整数、浮点数、进制数(如二进制、八进制)。替代整数/浮点数区分。
    let decimal: number = 10;
    let hex: number = 0xf00d; // 十六进制
    
  3. string(字符串类型): 表示文本数据,可以使用单引号、双引号或模板字符串。
    let name: string = "John";
    
  4. null 和 undefined: 表示空或未定义的值。常用于默认或可选场景。
    let value1: null = null;
    let value2: undefined = undefined;
    
  5. symbol(符号类型): 创建唯一标识符,适用于对象属性的键。确保属性名唯一。
    const symKey: symbol = Symbol("key");
    
  6. bigint(大整数类型): 处理大整数值(>2^53),使用 n 结尾的数值标识。
    let largeValue: bigint = 9007199254740991n;
    
  7. void(空类型): 表示无返回值,通常用于函数返回值。函数体内用 undefined
    function logMessage(): void {
      console.log("Done");
    }
    

高级类型

  1. any(任意类型): 跳过静态检查,用于动态变化或兼容 JavaScript 原有代码。易引起类型安全损失。
    let data: any = 10;
    data = "hello";
    
  2. array(数组类型): 表示同类型元素的集合,支持通用数组语法 Array<T>T[]
    let numArray: number[] = [1, 2, 3];
    
  3. tuple(元组类型): 固定长度和位置的强类型数组,用于确保元素顺序和类型匹配。
    let student: [string, number] = ["Alice", 20];
    
  4. enum(枚举类型): 表示一组常量集合,自动映射数值(默认从 0)或字符串。简化命名常量和数字关系的表示。
    enum Color { Red, Green, Blue };
    let bgColor: Color = Color.Red;
    
  5. never(绝不出现类型): 标识永不返回的值,适用于总会抛错或死循环函数、不可能状态条件分支。
    function errorMsg(message: string): never {
      throw new Error(message);
    }
    

复合与对象类型

  1. object(对象类型): 支持 JavaScript 对象结构,常用或搭配 interface。可用于复杂数据模型。
    interface User {
      name: string;
      age: number;
    }
    let user: object = { name: "Bob", age: 30 };
    
  2. function(函数类型): 明确定义参数类型与返回值类型(如 void 、 string 等),确保调用一致性。
    function increment(x: number): number;
      return x + 1;
    }
    

特殊增强类型

  1. union(联合类型): 允许变量为多种可能类型之一(如 string | number),用垂直线语法提高灵活性。
    let identifier: string | number = "ID123";
    
  2. type alias(类型别名): 别名映射类型定义(如 type MyType<T> = T[];),支持复用简化复杂结构组合使用联合或交叉实现逻辑约束。

该列表体现了 TypeScript的类型安全性增强能力及其在现代前端开发中的核心价值。