javascript - 声明对象键的类型
问题描述
我有一个XInterface
这样的:
export interface XInterface {
foo: (() => Foo[]) | Foo[],
bar: string,
baz: number
}
然后,使用接口声明一个我想要的对象类型foo
,Foo[]
比如
const myObj: XInterface = {
[myFoo1, myFoo2],
'bar',
1
}
但是由于我已经使用:
来声明我的 Foo 数组,所以我不知道如何确保 foo 是一个数组,而不是一个返回数组的函数。
我怎样才能做到这一点?
解决方案
这是我会遵循的模式。将来你会将此对象传递到 XInterface 预期的某个地方,它不知道 foo 是一个函数还是一个数组。考虑到这一点,您将始终必须检查 foo 的内容。更好的方法是简单地将 foo 转换为函数。
推荐阅读
- angular - Angular - 访问 MatMenu 的 elementRef
- vb.net - 当vb net和sql Server中没有更多行时如何调整行
- libraries - 在 Dymola 中使用脚本 API 库
- entity-framework - ReferentialConstraint 中的依赖属性映射到存储生成的列。列:'DocumentId'
- prestashop - SMARTY:变量内的变量
- selenium - Selenium 的 Web 自动化最终会因“无活动会话”而崩溃
- linux - 使用 LFTP 访问 SFTP 服务器时出现问题
- docker - E2E 测试未在 Jenkins 作业上运行
- c# - 使用后台或托管服务时无法访问已处置的对象
- modbus - mbpoll 将数据写入中继板