Skip to main content

Contoh Spreading Operator di Javascript

Spreading operator dituliskan dengan three consecutive dots (....). Sesuai namanya “Spread”Intinya spread operator adalah pelebur array menjadi beberapa elemen yang berbeda, fitur baru ES6 ini digunakan untuk membentangkan nilai array atau lebih tepatnya iterable object menjadi beberapa elements. Mari kita lihat contoh kode berikut:

  1. const favorites = ["Seafood", "Salad", "Nugget", "Soup"];

  2.  

  3. console.log(favorites);

  4.  

  5. /* output:

  6. [ 'Seafood', 'Salad', 'Nugget', 'Soup' ]

  7. */


Pada kode tersebut hasil yang dicetak adalah sebuah array (ditunjukkan dengan tanda [ ]), karena memang kita mencetak nilai favorites itu sendiri. Nah, dengan menggunakan spread operator kita dapat membentangkan nilai – nilai dalam array tersebut.

  1. const favorites = ["Seafood", "Salad", "Nugget", "Soup"];

  2.  

  3. console.log(...favorites);

  4.  

  5. /* output:

  6. Seafood Salad Nugget Soup

  7. */


Terlihat kan perbedaanya? Mengapa bisa demikian? Spread operator bekerja seperti meleburkan nilai array menjadi beberapa elemen sesuai dengan panjang nilai array-nya, sehingga jika kita menuliskan kode seperti ini:

  1. console.log(...favorites);


Sama seperti kita menuliskan kode seperti ini:

  1. console.log(favorites[0], favorites[1], favorites[2], favorites[3]);


Spread operator ini cocok sekali digunakan sebagai nilai parameter pada variadic functions, seperti console.log() atau Math.max().

  1. /* Math.max() -> Mencari nilai terbesar */

  2. const numbers = [12, 32, 90, 12, 32];

  3.  

  4. // Sama seperti kita menuliskan

  5. // console.log(Math.max(numbers[0], numbers[1], numbers[2], numbers[3])

  6.  

  7. console.log(Math.max(...numbers));

  8. /* output

  9. 90

  10. */


Spread operator dapat digunakan untuk menggabungkan dua buah array dalam objek array baru. Jika tidak menggunakan spread operator ini maka hasilnya seperti ini:

  1. const favorites = ["Seafood", "Salad", "Nugget", "Soup"];

  2. const others = ["Cake", "Pie", "Donut"];

  3.  

  4. const allFavorites = [favorites, others]

  5.  

  6. console.log(allFavorites);

  7.  

  8. /* output:

  9. [[ 'Seafood', 'Salad', 'Nugget', 'Soup' ], [ 'Cake', 'Pie', 'Donut' ]]

  10. */


Sayang sekali, nilai array tidak akan tergabung. Alih-alih menggabungkan nilainya, variabel allFavorite menjadi objek array baru yang menampung dua array di dalamnya. Nah lantas bagaimana jika kita mencoba menggunakan spread operator?

  1. const favorites = ["Seafood", "Salad", "Nugget", "Soup"];

  2. const others = ["Cake", "Pie", "Donut"];

  3.  

  4. const allFavorites = [...favorites, ...others]

  5.  

  6. console.log(allFavorites);

  7.  

  8. /* output:

  9. [ 'Seafood', 'Salad', 'Nugget', 'Soup', 'Cake', 'Pie', 'Donut' ]

  10. */


Yups, dengan menggunakan spread operator nilai dari dua array tersebut berhasil tergabung. 
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar
-->