Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流中的类型vs接口索引器属性_Javascript_Flowtype - Fatal编程技术网

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 },
};