前端高频面试题:TypeScript 核心考点与实战解析
TypeScript(TS)已成为现代前端开发的标配,尤其在 React、Vue、Angular 等主流框架中,类型安全与工程化能力是考察重点。本文梳理了从基础概念到高级类型体操的高频考点,结合实际项目配置与框架实践,帮助开发者构建稳健的类型体系。
基础篇:理解 TS 核心价值
TypeScript 是什么?
TypeScript 是 JavaScript 的超集,由 Microsoft 开发,最终编译为纯 JS 运行。相比 JS,TS 的核心优势在于编译时的静态类型检查,能提前捕获拼写错误或类型不匹配问题,显著提升代码可维护性与 IDE 智能提示体验。
基本类型辨析
TS 支持丰富的原始类型与对象类型。特殊类型 any、unknown、never 的理解尤为关键:
| 类型 | 描述 | 使用场景 | 安全性 |
|---|---|---|---|
| any | 任意类型,关闭检查 | 迁移旧项目或临时绕过 | 低 |
| unknown | 未知类型,需先收窄 | API 返回不确定类型 | 高 |
| never | 永不存在的值 | 抛错函数或无限循环 | - |
示例:使用 unknown 时务必进行类型收窄。
let val: unknown = 'hello';
if (typeof val === 'string') {
// 类型收窄后,val 被视为 string
console.log(val.toUpperCase());
}
中级篇:编码能力考察
类型收窄与守卫
联合类型允许值属于多种可能,但使用时需通过条件判断缩小范围。除了内置的 typeof、instanceof、in 检查外,自定义类型守卫(is 关键字)也是常见考点。
function padLeft(value: string, padding: string | number) {
if (typeof padding === 'number') {
(padding + ).() + value;
}
padding + value;
}

