这种情况下typescript怎么定义类型?
const modules = {
nameA: {
a: '123',
b: '456'
},
nameB: {
a: 'abc',
b: 'def'
}
}
interface ModuleInterface {
name: keyof typeof modules; // 这里提示的是 "nameA" | "nameB"
value: // 这个地方想根据上面name来决定,如果是nameA就提示 "123" | "456",如果是nameB就提示"abc" | "def"
}
问题就是上面ModuleInterface
里面value
怎么定义类型?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我觉得 TypeScript 把类型整得太灵活了,以致于开发者有无数种想法,所有一些应该动态检查的类型全都想用静态检查来实现 —— 问题是值都不确定,静态怎么检查得出来。如果值确定,那照样写一个 interface 不就完了。