跳到主要内容
CodeWiki
练习
学习路径
学习方向
速查表
试验场
术语表
AI 时代
搜索
⌘K
中文
英语
中文
练习
学习路径
学习方向
速查表
试验场
术语表
AI 时代
中文
英语
中文
练习
/
测验
/
TypeScript
/
类型守卫
如果 isSmallNumber(value): value is number 会对 -9 到 9 以外的数字返回 false,这个声明为什么不安全?
来自 类型守卫
TypeScript 6
高级
1分钟
如果 isSmallNumber(value): value is number 会对 -9 到 9 以外的数字返回 false,这个声明为什么不安全?
假分支仍可能包含数字,但 TypeScript 会从联合中排除 number。
类型谓词只能用于对象类型。
编译器会在假分支中把大数字转换成字符串。
谓词每次返回 false 时都必须抛出异常。
检查
向 AI 询问这道练习
报告错误
上一道练习
在非空对象上检查 "id" in value 后,代码证明了什么?
测验
下一道练习
这段程序会输出什么?
预测输出
有新版本可用
重新加载