ts如何支持es6 Map迭代器?

tsconfig.json 设置了 es6选项,然后用了Map,编译没问题运行不对。看了下生成的代码,明显是for of 转码错误

TS代码,for of遍历Map

        let _m = new Map<number,string>();
        _m.set(1,"ass");
        _m.set(2,"gsdf");
        for(let [key,value] of _m){
            cc.log(value);
        }

转成js后的代码(Chrome查看)

        var _m = new Map();
        _m.set(1, "ass");
        _m.set(2, "gsdf");
        for (var _b = 0, _m_1 = _m; _b < _m_1.length; _b++) {
            var _c = _m_1[_b], key = _c[0], value = _c[1];
            cc.log(value);
        }

明显,for of被转成原始的for ++循环,访问Map的length没有任何意义

我的tsconfig.json配置 creator 1.6.1


{
  "compilerOptions": {
    "module": "commonjs",
    "lib": [ "dom", "es6", "es2015.promise" ],
    "target": "es6",
    "experimentalDecorators": true
  },
  "exclude": [
    "node_modules"
  ]
}

1赞