Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 流-子类型数组_Javascript_Flowtype - Fatal编程技术网

Javascript 流-子类型数组

Javascript 流-子类型数组,javascript,flowtype,Javascript,Flowtype,有两个对象,其中B扩展了A,我可以将B的单个实例分配给A类型的变量。但是,对于数组,这是不可能的。我能做些什么来让这一切顺利吗?谢谢 // @flow type ObjectA = { foo: string }; type ObjectB = ObjectA & {bar: number }; let objectBArray: ObjectB[] = [{ foo: 'test', bar: 42 }]; let objectAArray: ObjectA[] = objectBA

有两个对象,其中B扩展了A,我可以将B的单个实例分配给A类型的变量。但是,对于数组,这是不可能的。我能做些什么来让这一切顺利吗?谢谢

// @flow
type ObjectA = { foo: string };
type ObjectB = ObjectA & {bar: number };

let objectBArray: ObjectB[] = [{ foo: 'test', bar: 42 }];
let objectAArray: ObjectA[] = objectBArray; // Does not work!

我自己找到了答案:

let objectAArray: Array<$Subtype<ObjectA>> = objectBArray;
let objectAArray:Array=objectBArray;

未在文档中描述,但似乎是API的正式部分

已弃用$Subtype实用程序。这个答案实际上只会导致“any”类型,也就是说类型安全性已经丢失。