跳到主要内容
CodeWiki
练习
学习路径
学习方向
速查表
试验场
术语表
AI 时代
搜索
⌘K
中文
英语
中文
练习
学习路径
学习方向
速查表
试验场
术语表
AI 时代
中文
英语
中文
练习
/
测验
/
TypeScript
/
类型收窄
变量声明为 string | number,当前已收窄为 string,为什么稍后赋值 42 仍可通过编译?
来自 类型收窄
TypeScript 6
进阶
3分钟
变量声明为 string | number,当前已收窄为 string,为什么稍后赋值 42 仍可通过编译?
赋值按声明类型检查,而观察类型可以随控制流变化。
收窄会把声明永久改成 any。
每个数字都会隐式转换成字符串。
只有关闭严格模式后,该赋值才会被接受。
检查
向 AI 询问这道练习
报告错误
下一道练习
为什么应把 switch 默认分支的值传给 assertNever,而不是返回 "unknown"?
测验
有新版本可用
重新加载