我正在以最简单的方式使用ES6 rest参数:
function func(a, ...b) {
for (var i = 0; i < b.length; i += 2) {
console.log(b[i], b[i + 1]);
}
}
我已经安装了
babel-preset-es2015
,而我的.babelrc
文件仅包含:{
"presets": ["es2015"]
}
奇怪的是,结果输出为:
"use strict";
function func(a) {
for (var i = 0; i < arguments.length; i += 2) {
console.log(arguments[i], arguments[i + 1]);
}
}
我在https://phabricator.babeljs.io/T7000处提交了一个错误,但是我非常担心,因为这是我第二次使用Babel 6错误地进行了基本的ES6转换。 Babel 6是否在某个地方被记录为不稳定/ alpha?还是这个广受欢迎的模块真的那么糟糕?是否有其他备用的ES6编译器使用安全的编译器级严谨性和全面的测试套件编写?
最佳答案
您要查找的转换是http://babeljs.io/docs/plugins/transform-object-rest-spread/,它不是babel-preset-es2015
的一部分,但是babel-preset-stage-2
的一部分,或者您可以单独安装它。