在 JavaScript 中,擴充語法是一種將索引或可迭代資料型別擴充為可迭代資料型別(特別是陣列或物件)的方法。
剩餘語法使用類似的結構來傳播,而剩餘參數允許向函數傳遞未知數量的參數。擴展語法反轉了這個過程,使得單一集合被延長為其組成元素。
當物件或陣列需要將其元素轉移到新物件或陣列時,這特別有用。此外,在函數的參數中,擴充運算子可用於將單一元素傳遞給函數的參數。
例如,假設我們有一個字母數組:
const letters = ['c', 'a', 't']
假設我們有一個函數,它接受三個元素並用它們做一些事情:
let spell = (x, y, z) => { return y + x + z; }
如果我們想傳遞字母數組中的各個元素,我們可以在呼叫函數時使用擴展運算符,它會自動將數組元素分散到參數列表中:
console.log(spell(...letters)); // => logs "act"
如上所述,我們也可以從陣列(或字串)複製可迭代元素。
const moreLetters = [...letters]; console.log(moreLetters); // => logs ['c', 'a', 't']
這也可以讓我們更輕鬆地組合或連接陣列:
const evenMoreLetters = [...letters, ...moreLetters]; console.log(evenMoreLetters); // => logs ['c', 'a', 't', 'c', 'a', 't']
數組也可以展開為一個對象,其中數組元素為值,索引號為鍵:
const objLetters = {...letters} console.log(objLetters); // => logs { 0: "c", 1: "a", 2: "t" }
物件也可以使用擴充語法來合併:
const objUno = { 'one': 1 } const objDeux = { 'two': 2 } const objDrei = {...objUno, ...objDeux}; console.log(objDrei); // => logs { one: 1, two: 2 }
雖然只是觸及表面,但這展示了展開運算子在簡化任務(例如複製和組合可迭代資料類型以及將多個參數傳遞給函數)方面的語法能力。一如既往,我們需要編寫的程式碼越少,我們作為開發人員的生活就會越輕鬆。
引用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
以上是傳播文法的詳細內容。更多資訊請關注PHP中文網其他相關文章!