目录
解释 unknown 与 any 的区别,如何安全使用 unknown 类型?
如何用类型守卫处理联合类型变量的方法调用?
实现一个工具类型 Nullable ,使 T 可被赋值为 null/undefined
如何用 keyof 和 in 关键字实现枚举类型到联合类型的转换?
类型断言 as 与尖括号语法有何差异?何时推荐使用?
如何通过 declare 声明全局类型扩展?
类型推断在函数重载中的优先级规则
如何用 infer 关键字提取 Promise 的泛型参数?
解释模板字面量类型在路由参数校验中的应用
如何用 satisfies 运算符平衡类型安全与灵活性?
实现一个递归的 DeepReadonly 工具类型
如何用类型谓词自定义类型保护函数?
解释品牌类型(Branded Types)在领域建模中的应用
泛型约束 T extends object 与 T extends {} 的区别
如何用泛型实现柯里化函数的类型标注?
解释泛型默认参数在 React 组件 Props 中的应用
如何通过泛型实现类型安全的 EventEmitter?
设计支持链式调用的泛型 Builder 模式类型
泛型条件类型在 Redux reducer 类型推断中的应用
如何用泛型实现高阶函数 memoize 的类型标注?
解释泛型类型推断在 Hooks 设计中的实践
如何约束泛型参数必须包含特定方法?
实现支持递归的 DeepPartial 工具类型
泛型在 TypeScript 5.0 的 const type parameters 中的应用
如何用泛型实现类型安全的 DI 容器?
抽象类与接口在实现多态时的选择策略
如何用 private 构造函数实现单例模式?
解释 protected 修饰符在继承体系中的特殊作用
类静态块(Static Block)的类型检查特性
如何用装饰器工厂实现带参数的类装饰器?
类属性初始化与 definite assignment assertion 的关系
解释参数属性在构造函数中的编译产物差异
如何用混入(Mixins)实现跨类功能复用?
抽象属性在子类中的实现约束规则
类表达式与类声明的类型系统差异
如何用 this 参数实现链式调用类型安全?
解释函数重载与联合类型的适用场景差异
如何标注带有默认参数和剩余参数的函数类型?
实现类型安全的 debounce 高阶函数
用条件类型实现函数参数类型的动态推断
如何用逆变位置控制方法参数的兼容性?
函数类型中的 void 与 undefined 返回值区别
如何用类型展开处理元组参数类型推断?
解释函数类型双向协变的潜在风险
如何用重载签名处理复杂回调函数类型?
import type 与普通导入的编译产物差异
如何用命名空间合并扩展第三方库类型?
解释模块解析策略在 monorepo 中的配置要点
如何用三斜线指令组织声明文件?
路径别名在类型检查和编译时的处理机制
如何为没有类型声明的库编写.d.ts 文件?
解释 isolatedModules 标志的作用及限制
如何用项目引用实现跨项目的类型检查?
compilerOptions 中 strict 模式的全家桶配置
如何用 tsc --build 实现增量编译优化?
解释 sourceMap 与声明文件生成的关联配置
skipLibCheck 与 forceConsistentCasingInFileNames 的作用
如何配置多环境下的 tsconfig.json 扩展?
解释类型获取(Type Acquisition)的自动机制
如何用 /// 控制声明文件加载?
如何用类型编程实现 Vue3 的 Props 类型推导?
解释模板字面量类型在国际化 key 路径校验中的应用
如何用条件类型实现 Redux Action 类型的自动推断?
设计类型安全的 API 请求响应处理管道