如何在JavaScript函式中接受無限參數
如何實現一個接受無限參數的函式呢? 假設我們有一個名為 join() 的函式,它的任務是將我們傳遞給它的所有字符串串接起來。 例如,我們撰寫一個接受兩個字符串的原型: const join = (string1, string2) => { return string1 + string2 } 當我們調用它時,我們得到一個由我們傳遞的兩個參數串接而成的字符串: join('hi', ' flavio') // 'hi flavio' 一個簡單的方法是添加其他默認值為空字符串的參數,像這樣: const join = (string1, string2, string3 = '') => { return string1 + string2 + string3 } 但這種方法並不適用於大量參數,並且會讓我們的代碼看起來很糟糕。 相反,我們可以使用展開運算符 (...) 後跟我們想要使用的參數名稱的語法。在函式內部,該參數是一個陣列,所以我們可以簡單地調用它的 .join() 方法來串接它包含的字符串,並傳遞一個空字符串作為參數(否則默認會在字符串之間加上逗號): const join = (...strings) => { return strings.join('') } 在我們的例子中,我們還可以使用箭頭函式中提供的隱式返回語法進一步簡化: const join = (...strings) => strings.join('') 我們可以像之前一樣調用它: join('hi', ' flavio') // 'hi flavio' join('hi', ' flavio', ' it', ' is', ' a', ' beautiful day!...