TypeScript 中的非空断言运算符 ! 和类型断言 as 有什么区别?
考察说明
考察对 TypeScript 类型断言与非空断言语义的理解及正确使用场景
回答思路
- 准确解释非空断言 ! 的作用:仅在编译期去除 null/undefined 类型,不改变运行时行为
- 准确解释类型断言 as 的作用:覆盖类型检查,断言为更具体或更宽泛类型
- 说明两者都不会在运行时导致类型转换,只影响编译期类型检查
- 指出滥用 as 可能削弱类型安全,而 ! 只针对可空类型
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。