我一直遇到这种语法,但我很难理解它到底在做什么:
export class SomeClass extends SomeParent {
constructor(...[configuration]) {
// 只引用“configuration”的代码行
}
}
在Node REPL中尝试后,我发现以下两种写法没有区别:
function foo(...[bar]) { console.log(bar); console.log(arguments) }
...和...
function foo(bar) { console.log(bar); console.log(arguments) }
...那么它有什么作用呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
看起来确实毫无意义。您需要询问代码的作者他们在这方面的意图,他们至少应该留下一个注释。
然而,实际上存在微小的差异:剩余参数不计入函数的参数个数。因此,
(function(bar){}).length是1,而(function(...[bar]){}).length是0。