Javascript 传输代码在使用对象变量屏蔽参数时引发错误
我们尝试将以下代码移植到ES6:Javascript 传输代码在使用对象变量屏蔽参数时引发错误,javascript,ecmascript-6,babeljs,Javascript,Ecmascript 6,Babeljs,我们尝试将以下代码移植到ES6: 功能测试(数据){ data.cb(真); } 功能测试(cb){ apitest({cb:函数(数据){ 提交(cb,数据); }}); 函数提交(cb、数据){ cb(数据); } } 测试(数据=>{ 文件。写入(数据); });这是Babel 5中的一个错误,在Babel 6中已修复。它使用此es6小提琴工作:这里的问题似乎是Babel在对象文本中为匿名函数提供了与密钥本身相同的名称。非常适合调试,但不适合您的用例。似乎认为新创建的函数cb可以从com
功能测试(数据){
data.cb(真);
}
功能测试(cb){
apitest({cb:函数(数据){
提交(cb,数据);
}});
函数提交(cb、数据){
cb(数据);
}
}
测试(数据=>{
文件。写入(数据);
});代码>这是Babel 5中的一个错误,在Babel 6中已修复。它使用此es6小提琴工作:这里的问题似乎是Babel在对象文本中为匿名函数提供了与密钥本身相同的名称。非常适合调试,但不适合您的用例。似乎认为新创建的函数cb
可以从commit()
访问,但显然不是这样。你应该提交一个bug:)看起来像是babel中的bug,你应该报告。我也认为这是babel中的bug。这似乎是答案。我们提交了一个bug报告,得到了修复(我可能会补充说,相当快)。