string和string | number是兼容的,但是{ [string]: string }和{ [string]: (string | number} }是不兼容的。
我做错什么了吗?
/* @flow */
type T1 = string;
type T2 = string | number;
type T3 = { [string]: string };
type T4 = { [string]: T2 }
function main(){
var v1: T1 = 'foo';
var v2: T2 = v1;
var v3: T3 = { bar: 'bar' };
var v4: T4 = v3;
}13: var v4: T4 = v3;
^ Cannot assign `v3` to `v4` because string [1] is incompatible with number [2] in the indexer property. [incompatible-type]
References:
5: type T3 = { [string]: string };
^ [1]
6: type T4 = { [string]: T2 }
^ [2]发布于 2022-11-11 11:09:57
https://stackoverflow.com/questions/74387333
复制相似问题