TypeScript 5相关面试题

张开发
2026/5/18 1:59:47 15 分钟阅读
TypeScript 5相关面试题
一、基础必考题1. TypeScript 是什么相比 JS 有什么优势TS 是 JS 的超集扩展了类型系统最终编译为 JS 运行。优势静态类型检查提前发现错误更好的代码提示与智能补全增强代码可读性、可维护性支持接口、泛型、枚举等高级特性大型项目更易协作2. TS 中有哪些基础数据类型string、number、booleannull、undefinedobject、arrayany、unknownvoid、neverenum、tuple3.any和unknown的区别any放弃类型检查可以任意赋值、任意调用方法不安全unknown安全的任意类型必须先做类型判断才能使用项目中优先用unknown禁止滥用any4.interface和type的区别interface侧重定义对象结构支持重复声明合并、继承type可以定义联合类型、交叉类型、元组更灵活简单记定义对象用 interface复杂类型用 type5. 什么是泛型为什么要用泛型就是不预先指定类型在使用时再传入类型作用让函数/组件复用且类型安全示例functionidentityT(arg:T):T{returnarg}二、进阶高频题6. 什么是类型断言有什么风险手动告诉 TS “我知道这个变量是什么类型”constdomdocument.getElementById(app)asHTMLElement风险欺骗类型检查断言错误会导致运行时报错7. 什么是联合类型、交叉类型联合A | B满足其中一种交叉A B同时满足 A 和 B8.void和never区别void函数没有返回值never永远不会执行完抛异常、死循环9. TS 中可选链?.和 空值合并??作用a?.ba 为 null/undefined 时直接返回 undefined不报错a ?? b只有 a 是 null/undefined 才用 b区别于||不会把 0、‘’ 当成假10. 什么是类型守卫用于缩小类型范围让 TS 明确类型常见typeof、instanceof、in关键字三、TS 5 新特性面试官最爱问11. TS 5 主要有哪些新特性装饰器进入稳定版stage 3无需配置const 类型参数更严格的泛型推导extends 自动推导优化更好的联合类型简化更快的编译速度、更小体积支持satisfies关键字12.satisfies关键字作用既校验类型又保留原始类型信息不拓宽类型比直接写类型更灵活13. TS 5 装饰器和旧装饰器区别TS 5 是标准 ES 装饰器稳定、无需experimentalDecorators旧版是实验性语法写法和行为不一致四、实战场景题14. 如何定义一个接口让部分属性可选interfaceUser{name:string;age:number}typePartialUserPartialUser15. 如何让属性只读typeReadonlyUserReadonlyUser16. 如何排除类型中的某些属性typeUserWithoutAgeOmitUser,age17. 如何定义一个对象只能用指定 keytypeStatussuccess|error|loadingtypeConfigRecordStatus,boolean

更多文章