JavaScript - Parameter Fungsi
Selamat datang, para programer yang sedang berkembang! Hari ini, kita akan membanjiri dunia menarik JavaScript tentang parameter fungsi. Sebagai guru komputer tetangga yang ramah, saya disini untuk mengarahkan Anda melalui topik esensial ini. Jadi, ambil minumannya yang favorit, rasa nyaman, dan mari kita mulai petualangan coding ini bersama!
Parameter dan Argumen Fungsi
Mari kita mulai dari dasar. Dalam JavaScript, fungsi seperti mesin kecil yang melakukan tugas-tugas spesifik. Kadang-kadang, mesin ini memerlukan masukan untuk melakukan pekerjaannya dengan baik. Itu adalah tempat parameter masuk!
Apa Itu Parameter?
Parameter adalah variabel yang terdaftar dalam deklarasi fungsi. Mereka bertindak sebagai penyangga untuk nilai yang akan dilewatkan ke fungsi saat itu dipanggil.
mari kita lihat contoh sederhana:
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("Alice");
Dalam contoh ini, name
adalah parameter. Ketika kita memanggil fungsi dengan greet("Alice")
, "Alice" adalah argumen. Fungsi kemudian menggunakan argumen ini untuk personalisasi pesan salam.
Parameter Ganda
Fungsi dapat memiliki parameter ganda. Mari kita perluas fungsi salam kita:
function greet(name, time) {
console.log("Good " + time + ", " + name + "!");
}
greet("Bob", "morning");
Disini, kita memiliki dua parameter: name
dan time
. Ketika memanggil fungsi, kita memberikan dua argumen dalam urutan yang sama seperti parameter didefinisikan.
Parameter Default
Kadang-kadang, Anda mungkin ingin mengatur nilai default untuk parameter. Hal ini berguna saat Anda ingin fungsi bekerja bahkan jika argumen tidak diberikan:
function greet(name = "friend") {
console.log("Hello, " + name + "!");
}
greet(); // Output: Hello, friend!
greet("Charlie"); // Output: Hello, Charlie!
Dalam kasus ini, jika tidak ada argumen yang diberikan untuk name
, ia default ke "friend".
Object Argumen
Sekarang, mari bicarakan sesuatu yang sedikit lebih lanjut: object arguments
. Ini adalah variabel lokal yang tersedia di semua fungsi. Itu berisi object seperti array dari argumen yang dilewatkan ke fungsi.
function sumAll() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sumAll(1, 2, 3, 4)); // Output: 10
Fungsi ini dapat menerima sejumlah argumen dan menjumlahkan semuanya. Sangat keren, kan?
Melalui Nilai Argumen
Dalam JavaScript, saat Anda mengirimkan tipe data primitif (seperti angka, string, atau boolean) ke fungsi, mereka dilewatkan melalui nilai. Ini berarti bahwa fungsi menerima salinan nilai, bukan variabel asli.
function changeValue(x) {
x = 5;
console.log("Inside function: " + x);
}
let num = 10;
console.log("Before function call: " + num);
changeValue(num);
console.log("After function call: " + num);
Output:
Before function call: 10
Inside function: 5
After function call: 10
Seperti yang Anda lihat, mengubah x
di dalam fungsi tidak mengganggu variabel asli num
.
Melalui Referensi Argumen
Objek, dari lain pihak, dilewatkan melalui referensi. Ini berarti bahwa jika Anda mengubah objek di dalam fungsi, objek asli juga berubah.
function changeName(person) {
person.name = "Jane";
console.log("Inside function: " + person.name);
}
let myPerson = {name: "John"};
console.log("Before function call: " + myPerson.name);
changeName(myPerson);
console.log("After function call: " + myPerson.name);
Output:
Before function call: John
Inside function: Jane
After function call: Jane
Di sini, mengubah properti name
di dalam fungsi mempengaruhi objek asli myPerson
.
Catatan Peringatan
Perilaku ini dapat sia-sia dan berbahaya. Itu memungkinkan Anda untuk mengubah struktur data kompleks secara efisien, tetapi itu juga dapat menyebabkan efek samping yang tidak diinginkan jika Anda tidak hati-hati. Selalu berhati-hati tentang apakah Anda bekerja dengan primitif atau objek!
Menggabungkan Semua
Ayo kitaakhiri dengan contoh yang menyenangkan yang menggabungkan beberapa konsep yang kita pelajari:
function createSuperHero(name, power = "flying", weaknesses) {
let hero = {
name: name,
power: power,
weaknesses: []
};
for (let i = 2; i < arguments.length; i++) {
hero.weaknesses.push(arguments[i]);
}
return hero;
}
let myHero = createSuperHero("Captain Awesome", "super strength", "kryptonite", "public speaking");
console.log(myHero);
Fungsi ini membuat object superhero. Itu menggunakan parameter default, object arguments
, dan bekerja dengan baik primitif dan objek. Cobalah menjalankan itu dan lihat apa yang Anda dapatkan!
Kesimpulan
Selamat! Anda baru saja meningkatkan keterampilan JavaScript Anda dengan memahami parameter fungsi. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba konsep ini dalam kode Anda sendiri.
Berikut adalah tabel rujukan cepat dari metode yang kita pelajari:
Metode | Deskripsi |
---|---|
Parameter Dasar | function name(param1, param2) {...} |
Parameter Default | function name(param = defaultValue) {...} |
Object arguments
|
arguments[i] untuk mengakses argumen |
Melalui Nilai | Berlaku untuk primitif (angka, string, boolean) |
Melalui Referensi | Berlaku untuk objek dan array |
Selamat coding, dan semoga fungsi Anda selalu berjalan tanpa bug!
Credits: Image by storyset