白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

TypeScript-面试-泛型

2026年10月16日·Admin·1 次浏览

面试题:泛型是什么?约束与默认类型参数?

作用

延迟指定类型:在定义时写占位符 T,在使用时再代入具体类型,实现类型安全的复用(数组、Promise、函数、类等)。

function id<T>(x: T): T { return x }

约束 extends

function len<T extends { length: number }>(x: T) { return x.length }

限制 T 至少有 length,否则编译报错。

默认类型参数

interface Box<T = string> { value: T }

常见考点

  • 泛型在推断失败时可能退化为 unknown 或 {},需显式传参。
  • 泛型与联合分配:T extends X ? A : B 在条件类型里会分配到联合成员(distributive),需知 never 吸收规则。

© 2025 My Blog. Built with Nuxt.js v4