typescript - 打字稿:检查类型不是任何
问题描述
假设我有一个类型AnyWidget
是许多不同类型的联合。
type AnyWidget = Button | Label | HeaderComponent | ...
由于此类型将由添加小部件的任何人扩展,我想防止它意外地成为any
仅仅因为有人忘记正确键入小部件。
所以我想添加一个检查这个类型不是any
. 任何想法我将如何做到这一点?
更多上下文:
no-implicit-any
不幸的是,在这个项目中设置为 false- 正如 Fabian Lauer 已经指出的那样,在这种情况下不可能进行单元测试。所以我正在寻找其他想法。例如自定义 lint 规则或不同的类型定义来实现此目标。
- 在这种情况下,超类没有用,因为该类型被用于从中生成 json 模式。
解决方案
这是不可能的。
单元测试(例如你建议的玩笑)发生在运行时,但 TypeScript 中的类型只存在于编译时。这意味着您不能使用单元测试来测试类型。
推荐阅读
- html - 缩小占位符文本后如何使占位符和文本框光标居中?
- python - 监控服务的 systemctl 状态并在返回 false 时通过 sendmail 发送电子邮件的 Python 脚本
- python - 在数组中查找下一个最大数字的 Pythonic 方法?
- sql-server - SSIS:发生 OLE DB 错误。错误代码0x80004005,对端提前关闭连接
- reactjs - React FilePond:使用 url 显示图像
- angular - Net Core WebApi 2.1 和 Angular 2 应用程序 - IIS 部署
- javascript - 如何将 setState 中的数据传递给模态 REACTJS
- python - 通过 groupby 创建一个新的数据框并应用自己的功能
- angularjs - TyperError:无法读取未定义的属性“长度”
- c++ - 如何避免使用 memcpy 创建字符串