typescript - 有没有办法区分 `{x?: boolean}` 和 `{x: boolean|undefined}`?
问题描述
这适用于aGood
和aBad
:
type AOptional = {x?: boolean};
const aBad: AOptional = { x: undefined };
const aGood: AOptional = { };
我不想让它工作。我只想aGood
通过类型检查。有没有办法以一种可以强制执行的方式定义AOptional
?
谢谢!
解决方案
您可以区分{ x: boolean | undefined }
和{ x?: boolean }
。{ x: boolean | undefined }
可以分配给{ x?: boolean }
但不能反过来。
但是具有类型的对象文字{ x: undefined }
将可以{x?: boolean }
在任何编译器设置下分配。
推荐阅读
- rust - 将 Ref 返回到 Rc 内部的东西
> 没有 Ref::map - postgresql - Grafana Postgres 使用可具有多个值的 Where 查询时出错
- javascript - AWS Secrets Manager 和 javascript
- java - Java checkstyle import 语句缩进
- python - 如何在 python 中使用 selenium 中的“get_attribute”方法
- java - 如何使用 aws-sdk-java JmesParser 过滤 JSON
- python - 运行 python 文件时出错(无法导入 psycopg2)
- javascript - 使用 JS 或 jQuery 从 URL 获取参数
- python - 在python中将QUIT函数应用于迷你游戏
- python - 创建轨迹栏以滚动大图像和上下边界(Pyhton / OpenCV)