[...Map.values()]编译问题

  • Creator 版本: 3.8.1

  • 目标平台: Chrome浏览器

  • 重现方式:

let map = new Map();
        map.set(0, 0);
        map.set(1, 1);
        map.set(2, 2);
        console.log("map values", [...map.values()]); 
        // 打包后为 console.log("map values", [].concat(map.values());
  • 首个报错:
    image

  • 编辑器操作系统: macosx

  • 重现概率: 100%

可以使用Array.from(map.values())规避一下

是可以这样,但是不够简洁

如果有办法让web和微信小游戏打包时跳过es5的转换就好了

测试标准的tsc转化是没问题,但是cocos creator编译转化的结果有问题,所以这不是简洁不简洁的问题了,是cocos creator不支持这种写法(是个bug)

@jare

https://forum.cocos.org/t/topic/149932/528?u=smallmain

可以取消宽松模式解决,让代码编译符合 es 规范,快一年了,不仅现在选项还是默认的,文档到现在也没补充。