為什麼在函數參數中同時使用擴充運算子和解構賦值的好處是什麼?
P粉775723722
P粉775723722 2023-08-16 16:27:57
0
1
463
<p>我一直遇到這種文法,但我很難理解它到底在做什麼:</p> <pre class="brush:php;toolbar:false;">export class SomeClass extends SomeParent { constructor(...[configuration]) { // 只引用「configuration」的程式碼行 } }</pre> <p>在Node REPL中嘗試後,我發現以下兩種寫法沒有差別:</p> <pre class="brush:php;toolbar:false;">function foo(...[bar]) { console.log(bar); console.log(arguments) }</pre> <p>...與...</p> <pre class="brush:php;toolbar:false;">function foo(bar) { console.log(bar); console.log(arguments) }</pre> <p>...那麼它有什麼作用呢? </p>
P粉775723722
P粉775723722

全部回覆(1)
P粉670107661

看起來確實毫無意義。您需要詢問程式碼的作者他們在這方面的意圖,他們至少應該留下一個註釋。

然而,實際上存在微小的差異:剩餘參數不計入函數的參數個數。因此,(function(bar){}).length1,而(function(...[bar]){}).length0

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板