TypeScript 标准库:开发者完整指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

TypeScript 标准库:完整概述



TypeScript 是 JavaScript 的严格类型化超集,它为大型应用程序开发添加了静态类型化和强大的工具。与许多语言不同,TypeScript 在经典意义上没有庞大的内置标准库(例如 Java 或 Python)。相反,它提供了一组内置类型、类型工具、装饰器和编译器工具。在本文中,我们将详细分析 TypeScript 标准库的所有关键组件。



1. 内置数据类型



TypeScript 包含所有 JavaScript 原始类型,并添加了自己的类型:



  • boolean — 布尔类型
  • number — 数字(整数和浮点数)
  • string — 字符串
  • null 和 undefined — 特殊值
  • symbol — 唯一标识符
  • bigint — 大整数
  • any — 禁用类型检查
  • unknown — any 的安全替代方案
  • never — 用于永远不会结束的函数类型
  • void — 无返回值


内置类型使用示例:



let isDone: boolean = false;let decimal: number = 42;let color: string = "синий";let notSure: unknown = 4;notSure = "теперь строка"; // 允许

function error(message: string): never { throw new Error(message);}


2. 工具类型 (Utility Types)



TypeScript 提供了强大的内置工具用于类型转换。以下是最有用的几个:



  • Partial<T> — 使 T 类型的所有字段变为可选
  • Required<T> — 使所有字段变为必填
  • Readonly<T> — 使所有字段变为只读
  • Pick<T, K> — 从类型中选择指定的键
  • Omit<T, K> — 排除指定的键
  • Record<K, T> — 创建键为 K、值为 T 的对象类型
  • Exclude<T, U> — 排除存在于 U 中的类型
  • ReturnType<T> — 提取函数的返回值类型


工具类型使用示例:



interface User {    id: number;    name: string;    email: string;}

// 部分更新用户function updateUser(id: number, changes: Partial<User>): void { // 更新逻辑}

// 只读const readonlyUser: Readonly<User> = { id: 1, name: "Иван", email: "ivan@example.com"};

// 选择字段type UserName = Pick<User, "name" | "email">;


3. 装饰器



装饰器是一种特殊的声明,允许修改类、方法、属性和参数。TypeScript 支持多种类型的装饰器:



  • 类装饰器 — 应用于类的构造函数
  • 方法装饰器 — 应用于类的方法
  • 属性装饰器 — 应用于属性
  • 参数装饰器 — 应用于方法的参数


用于日志记录的方法装饰器示例:



function log(target: any, propertyKey: string, descriptor: PropertyDescriptor) {    const originalMethod = descriptor.value;    descriptor.value = function (...args: any[]) {        console.log(`Вызов ${propertyKey} с аргументами: ${JSON.stringify(args)}`);        return originalMethod.apply(th

推荐