Spreading Operator & Rest Parameter

Run Settings
LanguageJavaScript
Language Version
Run Command
console.log(`======================SPREADING OPERATOR=======================`) /* Spreading operator dituliskan dgn three consecutive dots (...) fitru baru ES6 ini digunakan utk membentangkan nilai array atau lebih tepatnya iterable objcect meenjadi beberapa element. Contoh: */ //Sebelum menggunakan spread operator const favorites = ["Mie", "Rice", "Fried Chicken"]; console.log(favorites); //Menggunakan spread operator (...) console.log(...favorites); //menggunakan spread perator //Sama seperti kita menuliskan kode seperti ini: console.log(favorites[0], favorites[1], favorites[2], favorites[3] = false); /* Spread operator ini cocok sekali digunakan sebagai nilai parameter pada variadic functions, seperti console.log() atau Math.max(). */ // Math.max() -> fungsinya mencari nilai terbesar const numbers = [12, 32, 21, 11, 4]; // Sama seperti kita menuliskan // console.log(Math.max(numbers[0], numbers[1], numbers[2], numbers[3]) console.log(` >> Mencari nilai terbesar (Math.max) dgn spread operator <<`) console.log(Math.max(...numbers)); /*Spread operator dapat digunakan untuk menggabungkan dua buah array dalam objek array baru. Jika tidak menggunakan spread operator ini maka hasilnya seperti ini: */ console.log(` >> Menggabungkan dua buah array dalam objek array baru << sebelum menggunakan spread operator:`) const others = ['Bakso', 'Kwetiaw', 'Sop Ayam']; const allFavorites = [favorites, others]; console.log(allFavorites); /* 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? */ console.log(` setelah menggunakan spread operator: `) const semuaFavorites = [...favorites, ...others]; console.log(semuaFavorites); console.log(`==========================REST PARAMETER=========================`) /* Rest parameter juga dituliskan menggunakan three consecutive dots (...). Dengan rest parameter, kita dapat menggabungkan beberapa elemen menjadi satu array. Tentu teknik ini sangat bermanfaat ketika kita hendak membuat sebuah variadic function. */ console.log(`contoh variadic function yang berfungsi untuk menjumlahkan seluruh nilai argument fungsi yang diberikan:`) function sum(...numbers){ var result = 0; for(let number of numbers){ result += number } return result; } console.log(sum(1,2,3,4,5)); /* Rest parameter juga dapat digunakan pada array destructuring, di mana kita dapat mengelompokkan nilai-nilai array yang terdestruksi pada variabel dalam bentuk array yang lain. */ console.log(`Rest Parameter pada array destructing`) const friendNames = ['Nadia', 'Nisvi', 'Lia', 'Dina', 'Jitni']; const [temanSMA, temanSMA2, ...temanSMP] = friendNames; console.log(temanSMA, temanSMA2); console.log(temanSMP);
Editor Settings
Theme
Key bindings
Full width
Lines