Javascript 流中的类型vs接口索引器属性
有人能给我解释一下流中Javascript 流中的类型vs接口索引器属性,javascript,flowtype,Javascript,Flowtype,有人能给我解释一下流中类型与接口之间的区别吗?我一直在网上阅读,但找不到答案 代码如下: 例如,以下代码起作用: type Metadata { key: string; value: any; } type MetadataObj { [key: string]: Metadata; } var metadata: MetadataObj = { someReducer: { key: "test", value: 1 }, anotherReducer: { key
类型
与接口
之间的区别吗?我一直在网上阅读,但找不到答案
代码如下:
例如,以下代码起作用:
type Metadata {
key: string;
value: any;
}
type MetadataObj {
[key: string]: Metadata;
}
var metadata: MetadataObj = {
someReducer: { key: "test", value: 1 },
anotherReducer: { key: "test", value: 2 },
};
但事实并非如此,并且会产生以下错误:
无法将对象文字分配给元数据
,因为在对象文字[1]中缺少索引器属性,但在MetadataObj
[2]中存在索引器属性。(参考文献:[1][2])
我也读过类似的文章,但这对我并没有什么帮助:
在打字稿上。。。
接口不是具体的,它们是合同,这句话也没有真正的帮助:(
interface Metadata {
key: string;
value: any;
}
interface MetadataObj {
[key: string]: Metadata;
}
var metadata: MetadataObj = {
someReducer: { key: "test", value: 1 },
anotherReducer: { key: "test", value: 2 },
};