不支持es6 Set Map吗

let map = new Map([[1,2]]);

for (let [k,v] of map) {
console.log(76786);
}

这个代码的循环不会执行,报这个错:

es6的新容器Set和Map是不是不支持啊?不支持es6的Symbol特性?

目前依赖 babel polyfill 的库还不能在全端正常运行,详情参考 JavaScript 标准支持http://www.cocos.com/docs/creator/scripting/reference/javascript-support.html

在chrome正常。在模拟器上,set map的add delete什么的正常,size属性也会变化,一做for of循环就不行了,看起来是迭代器那块用到Symbol出问题了。模拟器这块应该是creator自己做的吧这块的修正是触控能做的吧,毕竟set map会是很常用的东西,希望修正。所以,这个问题是你们能修还是要靠第三方babel修?如果你们能修的话这个事情能排到什么时候?

我用set是因为想用一个集合存一组函数,原始的{}的key不能是函数

同志们 我回来了 发现.forEach可用,好吧,暂时可以用这个做循环了,汗,都已经打算自己实现set了,忽然想起来试试forEach :grinning:

这些新功能,往往性能都不行,建议谨慎使用,就算要用,也要限定在一个比较短小的函数内,有些情况可能会导致它所在的函数完全无法被 JIT,那么整个函数的性能都会下降, 如果这个函数经常被调用,或者函数体太长,对性能会产生影响

2赞

真机上,好像是不支持的

cocos creator1.5.1可以用es6的Map类型了吗?

不可以

但我实测在ccc1.5.1上使用typescript Map类型打包后可以在安卓及win端正常跑

forEach是es5的标准

我不同意这种看法,按照这样说,就没必要往前发展了,既然没人愿意用,那语言就停止发展了。

现在能不能用了呀,,版本:2.0.7,,,,大佬们围观下呗

为什么2.0.9里面ts用Map Set都报错 js不会报错

import一个es6 module如果在构建设置中,把他编成es5再引入?