Belajar ES6 – Default Parameter dan Rest Parameter

Kembali belajar ES6, saya coba menuliskan artikel agar tidak lupa dan biasanya dengan menuliskan apa yang kita pelajari akan lebih lama diingat dibanding dengan hanya menonton dan membaca saja. Jika pada artikel sebelumnya saya menulis Spread Operator pada ES6, sekarang kita coba kebalikan dari Spread Operator yaitu Rest Parameter dan ada baiknya kita bahas juga apa itu Default Parameter pada ES6.

Mungkin kawan-kawan sudah mengerti apa itu Default Parameter di beberapa bahasa programming lainnya. Asal tahu saja, default parameter ini baru ada di Javascript pada fitur ES6 ini. Sebelumnya jika kita buat default parameter seperti kode seperti dibawah ini tidak bisa lho..

function f(x, y) {
  if (y === 'undefined'){
    y = 1;
  }
  
  return x + y;
}

f(1) // 2

Jadi perlu ada validasi kondisi terlebih dahulu jika y adalah undefined.

Nah pada ES6, kita bisa langsung menaruh default value pada parameter yang mau kita buat defaultnya. Caranya seperti pada programming lainnya yaitu.

function f(x, y=1) { 
  return x + y; 
} 

f(1) // 2

Just info aja ya, kalau nanti ada browser yang dipasang dengan default value ternyata undefined atau error berarti browser tersebut belum support ES6 lho..:)

Lanjut ke Rest Paramter.

Rest Paramter sendiri juga sudah dipakai oleh beberapa bahasa programming lainnya seperti Java yang istilahnya Varargs.

Rest parameter ini adalah variable yang dijadikan parameter sehingga jika terdapat beberapa parameter setelahnya itu maka akan masuk ke dalam Rest parameter ini.

Misalnya adalah, kita buat fungsi dimana hanya ingin melihat isi dari variable yang ada seperti kode dibawah ini.

> function lihat(a, b, c){
...   console.log(a,b,c);
... }
undefined
> lihat(1,2,3);
1 2 3
undefined
> lihat(1,2,3,4);
1 2 3

Pada percobaan terakhir, nilai 4 tidak keluar ya karena parameter hanya menyimpan 3 variable. Nah Rest ini bisa menyimpan paramter ke 4 dan seterusnya.

> function lihat(a, b, ...c){
...   console.log(a,b,c);
... }
undefined
> lihat(1,2,3);
1 2 [ 3 ]
undefined
> lihat(1,2,3,4);
1 2 [ 3, 4 ]
undefined
> lihat(1,2,3,4,5,6);
1 2 [ 3, 4, 5, 6 ]

Dapet ya 🙂

Nilai variable c tersebut menggunakan Rest Parameter sehingga variable c bisa menyimpan banyak data parameter yang dipanggil untuk disimpan pada array.


[crp]


Tentunya ketika sudah menjadi Array tersebut bisa dimanipulasi sesuai dengan kebutuhan kawan-kawan sendiri 🙂

Artikel lainnya

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: