Dón*_*nal -1 javascript ecmascript-6
在ES6中,可以用来将...arguments一个函数的所有参数传递给另一个,例如
function foo(a, b) {
return bar(...arguments);
}
function bar(a, b) {
return a + b;
}
foo(1, 2); // returns 3
Run Code Online (Sandbox Code Playgroud)
我本人“发现”了这个习语,并且想知道它是否有缺点,或者是否被认为是不好的做法?
我想知道它是否有缺点
除了需要注意的两点以外,不是真的:
arguments 在松散模式下会有一些较小的性能问题(在正常情况下无需担心)。arguments,因此在箭头函数中将不起作用。您可能会得到ReferencError(如果箭头功能在顶层)或arguments最近的包含function功能(或方法)(因为箭头在 arguments [and this和super]上闭合),这可能不是您想要的。您使用的是传播符号,因此您也可以考虑使用其余符号:
function foo(...args) {
return bar(...args);
}
function bar(a, b) {
return a + b;
}
console.log(foo(1, 2)); // returns 3Run Code Online (Sandbox Code Playgroud)
,在方面没有(次要)性能问题arguments,可以在箭头函数中使用,并且清楚了解您的意思。
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |