javascript - 如何在 Flow 类型中指定一个空对象?
问题描述
假设我有一个变量可以是 JavaScript 错误对象或空对象,我将如何在 Flow 中指定空对象?
我在各个地方(例如此处)尝试过的一种可能性如下所示:
const err: Error | {||} = {};
但这会产生以下流程错误:
1: const exact: {||} = {};
^ Cannot assign object literal to `exact` because inexact object literal [1] is incompatible with exact object type [2].
References:
1: const exact: {||} = {};
^ [1]
1: const exact: {||} = {};
^ [2]
看到它住在这里。||
符号显然是这里$Exact<>
解释的简写。所以我不明白为什么这会失败。
它的意思是我试图分配的空对象err
是一个“不精确的对象文字”。我知道它是一个对象文字,实际上与空对象的“确切对象类型”不匹配。
我不明白为什么它不准确。看起来很准确,在运行时它是一个空对象。有人可以解释这里的逻辑和/或如何指定它err
是一个Error
对象还是一个空对象?
解决方案
推荐阅读
- android - 迁移到材料设计后未找到 Widget.AppCompat.TextView
- powershell - 将成员添加到自定义类的问题
- postgresql - Power BI - 数据加载错误 - OLE DB 或 ODBC 错误:[DataSource.Error] PostgreSQL:从流中读取时出现异常
- mysql - TypeORM:使用 groupBy 子句提取最新值
- javascript - 文件数据未在 js drop 事件中传递
- angular - @ViewChild 在 ngAfterViewInit - Ionic5 - Angular6 中访问孩子是空的
- python - 在 Mac (macOS Catalina 10.15) 上使用 python 中的 opencv 打开笔记本电脑摄像头的问题
- python - 保存循环函数的结果
- python - 如何在 Django 视图中解码 SAMLResponse?
- angular - 使用 Angular Material 9 的 TAB 创建自定义组件时出错