【发布时间】:2018-07-11 15:01:10
【问题描述】:
在一个项目中我有这个 BabelJS 配置:
{
"presets": ["es2016"]
}
在代码的某处,有一种方法使用标准的 JS 'arguments' 关键字来处理动态范围的参数。像这样的:
const myFunction = () => {
// pass all arguments with spread operator
someOtherFunction(...arguments);
}
myFunction('one', 'two', 3, {number: 4});
到目前为止一切都很好,但是当 BabelJS 完成时,它 (1) 将“参数”定义为全局变量,并且 (2) 也以某种方式本身必然会失败:
var arguments = arguments;
有没有办法阻止 BabelJS 这样做?是通过配置还是通过一些特殊注释来做例外处理?
【问题讨论】:
-
当你想使用
arguments对象时不要使用箭头函数。
标签: javascript ecmascript-6 babeljs ecmascript-5