Flow.js 地图不可写吗?
Are Flow.js maps not writable?
/* @flow */
let m: Map<number, string>;
m = new Map();
m[1] = 'qwe';
给出这个错误:
7: m[1] = 'qwe';
^ Cannot assign `'qwe'` to `m[1]` because an index signature declaring the expected key / value type is not writable.
7: m[1] = 'qwe';
^ Cannot assign `'qwe'` to `m[1]` because number [1] is incompatible with `$SymbolToStringTag` [2].
References:
7: m[1] = 'qwe';
^ [1]
[LIB] ..//static/v0.111.0/flowlib/core.js:606: +[key: $SymbolToStringTag]: any;
^ [2]
啊该死的,那是因为在带有地图的 JS 中,你不允许 m[key] = value;
只有 m.set(key, value)
。
/* @flow */
let m: Map<number, string>;
m = new Map();
m[1] = 'qwe';
给出这个错误:
7: m[1] = 'qwe';
^ Cannot assign `'qwe'` to `m[1]` because an index signature declaring the expected key / value type is not writable.
7: m[1] = 'qwe';
^ Cannot assign `'qwe'` to `m[1]` because number [1] is incompatible with `$SymbolToStringTag` [2].
References:
7: m[1] = 'qwe';
^ [1]
[LIB] ..//static/v0.111.0/flowlib/core.js:606: +[key: $SymbolToStringTag]: any;
^ [2]
啊该死的,那是因为在带有地图的 JS 中,你不允许 m[key] = value;
只有 m.set(key, value)
。