TypeScript面试题
光影博客收录的TypeScript面试题高频题与参考解析,搜索时也会写成TS面试题、TS八股。下面是站内已有题目,可继续在面试题里按这个词刷。
在面试题中打开共 5 道,本页展示 5 道
type 与 interface 有什么区别?
interface 只能定义对象/函数类型,支持声明合并和 extends;type 可定义任意类型(联合/交叉/元组等),用 & 交叉。建议对象用 interface,联合类型用 type。
常用的工具类型 (Utility Types) 有哪些?
Partial<T> 全可选、Required<T> 全必填、Pick<T,K> 选取、Omit<T,K> 排除、Record<K,V> 键值映射、ReturnType<T> 返回类型、Parameters<T> 参数类型。
泛型 (Generics) 有哪些常见使用场景?
泛型是类型参数化,让函数/类/接口处理多种类型而不丢失类型信息。场景:API 响应封装 Response<T>、通用组件 Props、工具函数、状态管理。
类型守卫与类型收窄是什么?
typeof 判断基本类型、instanceof 判断实例、in 判断属性存在、自定义类型谓词 is。类型守卫在条件分支内自动收窄类型,避免不必要的类型断言。
条件类型与 infer 关键字如何使用?
条件类型 T extends U ? X : Y 根据条件选择类型。infer 在条件类型中推断类型变量,如 ReturnType 实现:T extends (...args: any) => infer R ? R : any。