JavaScript - Default Parameters

Hai teman-teman, para ahli JavaScript masa depan! Hari ini, kita akan melihat dunia magis default parameters di JavaScript. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk mengantar Anda dalam perjalanan ini. Jadi, pegang keyboard Anda (tongkat sihir virtual), dan mari kita buat some code spells!

JavaScript - Default Parameters

Syntax Default Parameters

Pada zaman kuno JavaScript (sebelum ES6), menset nilai default untuk parameter fungsi agak mirip seperti mencoba mengajarkan kucing untuk mengambil - mungkin, tapi tidak terlalu elegan. Kita harus menggunakan trik seperti ini:

function greet(name) {
name = name || 'Anonymous';
console.log('Hello, ' + name + '!');
}

Tapi sekarang, dengan ES6 dan seterusnya, kita memiliki cara yang jauh lebih mudah untuk melakukan ini:

function greet(name = 'Anonymous') {
console.log(`Hello, ${name}!`);
}

greet(); // Output: Hello, Anonymous!
greet('Alice'); // Output: Hello, Alice!

Dalam contoh ini, jika kita tidak memberikan argumen ke greet(), ia menggunakan nilai default 'Anonymous'. Itu seperti memiliki penjaga pintu yang sopan yang menggunakan salam umum jika dia tidak tahu namanya!

Menyampaikan ekspresi sebagai nilai default parameter

Default parameters tidak terbatas pada nilai sederhana. Mereka bisa menjadi ekspresi juga! Mari kita lihat contoh:

function calculateArea(length, width = length) {
return length * width;
}

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

Di sini, jika kita tidak menyediakan lebar, ia menggunakan nilai panjang. Itu seperti pembuat persegi yang malas - jika Anda hanya memberikan satu sisi, dia asumsikan Anda ingin persegi!

Kita bisa membuatnya lebih menarik:

function getRandomGreeting(name, greeting = `Hello, ${name}! The lucky number is ${Math.floor(Math.random() * 100)}.`) {
console.log(greeting);
}

getRandomGreeting('Bob'); // Output: Hello, Bob! The lucky number is 42. (atau angka acak lainnya)

Fungsi ini menghasilkan angka keberuntungan acak setiap kali dipanggil tanpa salam khusus. Itu seperti kue keberuntungan, tapi lebih ramah!

Menyampaikan Argumen Undefined

Ini adalah perilaku aneh yang perlu dipikirkan:

function showMessage(message = 'Default message') {
console.log(message);
}

showMessage(undefined); // Output: Default message
showMessage(null); // Output: null

Menyampaikan undefined sama seperti tidak menyampaikan apa-apa, jadi itu memicu nilai default. Tetapi null dianggap nilai valid, jadi itu mengganti nilai default. Itu seperti undefined mengatakan "Saya tidak tahu, Anda yang memutuskan," sedangkan null mengatakan "Saya telah membuat pilihan, dan pilihan saya adalah nihil!"

Ekspresi Fungsi sebagai Parameter Default

Kita bahkan bisa menggunakan ekspresi fungsi sebagai parameter default. Lihat ini:

function greet(name, getGreeting = () => 'Hello') {
console.log(`${getGreeting()} ${name}!`);
}

greet('Alice'); // Output: Hello Alice!
greet('Bob', () => 'Hi there'); // Output: Hi there Bob!

Ini memungkinkan kita untuk menyesuaikan tidak hanya nilai, tetapi perilaku parameter default kita. Itu seperti memiliki robot salam yang dapat disesuaikan!

Parameter Opsional Fungsi

Sekarang, mari kita bicarakan tentang parameter opsional. Dalam JavaScript, semua parameter secara default adalah opsional. Jika Anda tidak menyediakan mereka, mereka menjadi undefined. Tetapi dengan parameter default, kita dapat memberikan nilai cadangan:

function createUser(name, age, country = 'Unknown') {
return {
name: name,
age: age,
country: country
};
}

console.log(createUser('Alice', 30)); // Output: { name: 'Alice', age: 30, country: 'Unknown' }
console.log(createUser('Bob', 25, 'USA')); // Output: { name: 'Bob', age: 25, country: 'USA' }

Dengan cara ini, kita dapat membuat beberapa parameter wajib (seperti nama dan umur) dan yang lainnya opsional (seperti negara). Itu seperti mengisi formulir di mana beberapa field ditandai dengan bintang merah, dan yang lain adalah optional!

Berikut adalah tabel yang menggabungkan metode yang kita diskusikan:

Metode Deskripsi Contoh
Parameter Default Dasar Menyediakan nilai cadangan jika tidak ada argumen yang diberikan function greet(name = 'Anonymous')
Ekspresi sebagai Default Menggunakan ekspresi untuk menghitung nilai default function calcArea(length, width = length)
Perilaku Undefined undefined memicu nilai default, null tidak showMessage(undefined) vs showMessage(null)
Fungsi sebagai Default Menggunakan fungsi untuk menghitung nilai default function greet(name, getGreeting = () => 'Hello')
Parameter Opsional Membuat beberapa parameter opsional dengan nilai default function createUser(name, age, country = 'Unknown')

Ingat, para padawan muda, parameter default adalah seperti jaring keselamatan dalam kode Anda. Mereka menangkap Anda saat Anda jatuh (atau lupa menyampaikan argumen), memastikan fungsi Anda selalu memiliki sesuatu untuk bekerja. Gunakan mereka bijaksana, dan biarlah kode bersama Anda!

Credits: Image by storyset