跳到正文
前端知识库
前端三大件

TypeScript 高频追问 Q&A

A: 对象结构扩展优先 interface;联合/映射类型用 type 更灵活。(深入阅读:TypeScript 接口)

2 分钟

TypeScript 高频追问 Q&A

1. Q: interfacetype 怎么选?

A: 对象结构扩展优先 interface;联合/映射类型用 type 更灵活。(深入阅读:TypeScript 接口

2. Q: 泛型的价值是什么?

A: 在复用逻辑时保留类型信息,减少 any。(深入阅读:TypeScript 泛型

3. Q: unknownany 区别?

A: unknown 更安全,使用前必须缩小类型。(深入阅读:TypeScript 数据类型

4. Q: 类型守卫常见方式?

A: typeofinstanceofin、自定义谓词函数。(深入阅读:类型兼容性与类型保护

5. Q: TS 在工程中的核心收益?

A: 提前发现类型问题、提升重构安全性。(深入阅读:TypeScript 与 JavaScript 的区别

6. Q: 函数重载的实现签名会暴露给调用者吗?

A: 不会。前面的重载签名描述可用调用,最后的实现签名只在函数体内承接运行时分支;实现必须兼容所有公开签名。详见 TypeScript 面试真题补充。(深入阅读:函数签名:可选、剩余与重载

7. Q: 枚举和字面量联合类型怎么选?

A: 枚举会生成运行时代码并可能带双向映射;只需要编译期约束时,字面量联合通常更轻量。(深入阅读:TypeScript 枚举类型

8. Q: TS 装饰器是类型检查还是运行时能力?

A: 传统装饰器会参与编译后的运行时代码,需要匹配 experimentalDecorators 和具体提案语义,不能只当作类型标注。(深入阅读:TypeScript 装饰器

9. Q: as User 会自动校验对象吗?

A: 不会。类型断言只影响编译器,运行时仍需用校验器或类型守卫验证不可信输入。(深入阅读:类型推断和类型断言类型保护