Introduction

Di JavaScript, kita sering kali mendefinisikan fungsi dengan parameter yang wajib diisi. Namun, dalam beberapa kasus, kita ingin memberikan nilai default untuk parameter-parameter tertentu yang tidak diterima atau tidak didefinisikan oleh pemanggil fungsi. Fitur ini dapat diimplementasikan dengan menggunakan default parameters. Default parameters memungkinkan kita untuk menetapkan nilai yang akan digunakan jika argumen yang bersangkutan tidak diberikan. Dalam artikel ini, kita akan melihat contoh-contoh penggunaan default parameters dalam JavaScript.

1. Pengertian Default Parameters

Default parameters adalah nilai yang diberikan kepada parameter fungsi jika argumen yang sesuai tidak diteruskan saat pemanggilan fungsi. Fitur ini diperkenalkan di ECMAScript 6 (ES6) dan memudahkan kita dalam menangani kasus di mana nilai default lebih masuk akal, tanpa memerlukan logika tambahan.

Sintaks Default Parameters:

javascript
function myFunction(parameter = defaultValue) {
// kode fungsi
}

Jika parameter tidak diberikan saat fungsi dipanggil, maka defaultValue akan digunakan.

2. Contoh Dasar Penggunaan Default Parameters

Mari kita lihat contoh dasar penggunaan default parameters.

javascript
function greet(name = "Guest") {
console.log(`Hello, ${name}!`);
}

greet("Alice"); // Output: Hello, Alice!
greet(); // Output: Hello, Guest!

Pada contoh di atas:

  • Ketika kita memanggil fungsi greet("Alice"), parameter name diberi nilai “Alice”.
  • Namun, saat kita memanggil greet() tanpa argumen, parameter name akan otomatis diberi nilai default yaitu "Guest".

3. Default Parameters dengan Ekspresi atau Perhitungan

Default parameters juga dapat berisi ekspresi atau perhitungan. Artinya, Anda dapat menetapkan nilai default yang bersifat dinamis, tergantung pada perhitungan atau nilai lain.

Contoh:

javascript
function multiply(a, b = a) {
return a * b;
}

console.log(multiply(5, 3)); // Output: 15
console.log(multiply(5)); // Output: 25

Pada contoh ini, jika parameter b tidak diberikan, maka nilainya akan diambil dari nilai a. Jadi, jika hanya satu parameter yang diberikan (misalnya multiply(5)), maka b secara otomatis diberi nilai yang sama dengan a, yaitu 5, dan hasilnya adalah 25.

4. Menggunakan Default Parameters dengan Objek

Default parameters juga bisa digunakan dengan parameter objek, yang sangat berguna ketika bekerja dengan fungsi yang menerima objek sebagai argumen.

Contoh:

javascript
function createUser({ name = "Anonymous", age = 18 } = {}) {
console.log(`Name: ${name}, Age: ${age}`);
}

createUser({ name: "Alice", age: 25 }); // Output: Name: Alice, Age: 25
createUser({ name: "Bob" }); // Output: Name: Bob, Age: 18
createUser(); // Output: Name: Anonymous, Age: 18

Dalam contoh ini:

  • Ketika kita memanggil createUser({ name: "Alice", age: 25 }), objek yang lengkap diteruskan, dan fungsi akan menggunakan nilai yang diberikan.
  • Ketika kita hanya mengirimkan { name: "Bob" }, nilai default untuk age digunakan.
  • Ketika tidak ada argumen yang diberikan, objek kosong {} digunakan, dan nilai default untuk kedua parameter digunakan.

5. Menggunakan Default Parameters dengan Fungsi Rekursif

Default parameters juga dapat sangat berguna dalam fungsi rekursif, di mana parameter tambahan digunakan untuk menghitung nilai secara bertahap. Default parameters akan memastikan bahwa parameter yang tidak diisi pada pemanggilan pertama akan memiliki nilai yang valid.

Contoh:

javascript
function factorial(n, result = 1) {
if (n === 0) {
return result;
}
return factorial(n - 1, result * n);
}

console.log(factorial(5)); // Output: 120

Pada contoh di atas, parameter result memiliki nilai default 1 jika tidak diberikan. Fungsi factorial dipanggil secara rekursif, dan pada setiap pemanggilan, nilai result diperbarui.

6. Mengatasi Nilai undefined dengan Default Parameters

Kadang-kadang, kita ingin membedakan antara nilai yang tidak diberikan dan nilai yang benar-benar undefined. Default parameters membantu kita untuk menangani kasus di mana undefined diberikan sebagai argumen, tetapi kita tetap ingin menggunakan nilai default jika parameter tidak diberikan.

Contoh:

javascript
function greet(name = "Guest") {
if (name === undefined) {
console.log("No name provided");
} else {
console.log(`Hello, ${name}!`);
}
}

greet("Alice"); // Output: Hello, Alice!
greet(undefined); // Output: No name provided
greet(); // Output: Hello, Guest!

Pada contoh ini, meskipun undefined diberikan sebagai argumen, nilai default tetap diterapkan. Jika tidak ada argumen yang diberikan, nilai default juga digunakan.

Kesimpulan

Default parameters di JavaScript adalah fitur yang sangat berguna untuk menangani nilai yang tidak diberikan dalam suatu fungsi. Dengan menggunakan default parameters, Anda dapat membuat kode lebih bersih dan lebih efisien tanpa perlu menulis logika tambahan untuk memeriksa keberadaan argumen. Fitur ini juga memungkinkan kita untuk menetapkan nilai default yang lebih dinamis dengan ekspresi atau perhitungan, dan sangat bermanfaat saat bekerja dengan objek atau fungsi rekursif.

Dengan memahami dan memanfaatkan default parameters, Anda dapat menghindari penggunaan nilai undefined yang tidak diinginkan dan menulis kode yang lebih robust dan fleksibel.

gunung388gunung388gunung388scatter hitamslot viralidncash slot onlineidntogel slot maxwinkemenangan maksimal di gates of gatot kaca x1000 pola resmimerger xl dan smart jadi xlsmart jackpot besar mahjong wins 3perbandingan poco f6 vs samsung a55 cari cuan di mahjong ways 2ponsel tangguh flagship vivo x200 lebih murahrahasia jackpot berlimpah dari para suhu mahjong wins 3event tahun baru imlek total kemenangan di gandakan pada mahjong wins 3mantan admin ini di pecat karena bagikan pola dan bocoran jackpotmenguak misteri 4 simbol naga hitam di mahjong wins 3permainan bertema klasik mahjong wins 3 vs mahjong ways 2pola dan trik rahasia mahjong ways 2 sukses cuan besarelon musk kembali guncang pasar kriptoadu ketahanan samsung galaxy a16 5g di mahjong ways 2beli toyota innova zenix dari jackpot besar sugar rush x1000kunci sukses cuan besar tekun dan belajar pola rahasia sweet bonanza x1000menang besar mahjong wins 3 dengan bocoran teknik spin turbonikah ke 3 kali setelah hoki jackpot besar olympus x1000penghasil profit big bass bonanza jadi alternatif mania mancingpi network siapkan peluncuran mainnet event jackpot ganda di lucky nekosolana dan ethereum di prediksi melesat wild bandito alternatif profit besarhati senang duit ada mahjong ways 2 gunung388kisah sultan skincare kaya raya viral di media sosiallegenda naga hitam kuno mahjong wins 3 kemenangan tertinggimenang matematika modern mahjong wins 3 jackpot modal recehpragmatic gunung388 event bonus ganda princes starlightronaldo menang besar wild bounty showdown gunung388samsung a33 5g harga terjun bebas cuan ways of the qilinskema kemenangan gates of gatot kaca jackpot 5 menitwaktu terbaik profit mahjong wins 3 scatter hitamyuyun jackpot 1 miliar sugar rush x1000 gunung388