下面的类型声明有误
type Storable = undefined | boolean | number | string | Storable[] | {
[key in string]: Storable;
}
报错:
Index signature is missing in type "XXX"
有好方法能实现这种类型吗?
// 需要满足
let a: Storable
a = 5
a = "string"
a = [5, "string"]
a = {
key: {
whatever: [
5,
"string",
{
key: 23
}
]
}
}
// 但不能是 Function 或 Map 或其他千奇百怪的类型
// wrong
a = function () {
// pass
}
// wrong
a = new Map()
// wrong
a = {
key: new Map()
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.