搜尋

首頁  >  問答  >  主體

為什麼在函數參數中同時使用擴充運算子和解構賦值的好處是什麼?

<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粉775723722P粉775723722476 天前469

全部回覆(1)我來回復

  • P粉670107661

    P粉6701076612023-08-17 10:52:42

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

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

    回覆
    0
  • 取消回覆