ts语法糖: [...map.values()], 打包成 js 之后, 逻辑不一致

  • Creator 版本: 3.8.4

  • 目标平台: Web / Chrome


打包前ts, 预期是将Map打散成一个Array

const map = new Map<Models.Slot, Info>();
...
const allSlots = [...map.values()]; // vscode提示: const allSlots: Info[]

打包后js, 结果是将迭代器包到数组里了

var o = new Map;
...
var r = [].concat(o.values()) // 浏览器提示: r = [MapIterator], o = Map(37)

Array.from(map.values())

1赞

对…我刚想补充…