TypeScript面试题
共 16 道题,按题目查阅参考答案、代码示例与官方资料。
- any、unknown 和 never 分别适合什么场景?
分清绕过检查、未知输入和不可能出现的值。
- type 和 interface 有哪些区别?
比较对象建模、联合类型、扩展与声明合并。
- 泛型解决了什么问题?如何约束泛型?
在复用逻辑的同时,保留参数与返回值之间的类型关系。
- 如何用可辨识联合避免不合理的状态组合?
把加载、成功、失败建模为互斥状态,并检查分支是否完整。
- TypeScript 怎样通过控制流缩小类型?
- 映射类型与 Partial、Pick、Omit 如何用于接口建模?
- 条件类型、infer 和分布式条件类型如何理解?
- as const、类型注解和 satisfies 有什么不同?
- 结构类型、可选属性和额外属性检查有哪些区别?
- strict、noUncheckedIndexedAccess 和 target 如何配置?
- 为什么 TypeScript 不能替代接口数据校验?
- 函数重载、联合参数与泛型怎样选择?
- .d.ts 声明文件提供了什么,不能保证什么?
- 项目引用与 tsc -b 如何管理多包类型构建?
- TypeScript 新装饰器与 experimentalDecorators 有何区别?
- import type 和 verbatimModuleSyntax 如何影响模块输出?