Return Value: Mengembalikan Nilai dari Fungsi
Memahami return untuk mengeluarkan hasil dari fungsi dan menghentikan eksekusinya.
Fungsi yang memberi hasil
Sejauh ini fungsi kita hanya mencetak ke console. Dengan return, fungsi bisa mengembalikan nilai yang kemudian dipakai di tempat lain:
function kuadrat(x) {
return x * x;
}
let hasil = kuadrat(5);
console.log(hasil); // 25
console.log(kuadrat(3) + kuadrat(4)); // 9 + 16 = 25Analoginya: fungsi tanpa return seperti mesin fotokopi yang hasil cetakannya langsung dibuang. Fungsi dengan return seperti kalkulator yang menampilkan hasilnya untuk kamu pakai.
return menghentikan fungsi
Begitu return dijalankan, fungsi langsung berhenti. Kode setelahnya tidak dieksekusi:
function cekUmur(umur) {
if (umur < 0) {
return "Umur tidak valid";
}
if (umur >= 17) {
return "Boleh masuk";
}
return "Belum cukup umur";
}Pola early return seperti ini membuat kode lebih datar dan mudah dibaca daripada if-else bertingkat.
return vs console.log
Ini kebingungan klasik pemula. console.log hanya menampilkan ke console untuk debugging, nilainya tidak bisa dipakai lagi. return mengeluarkan nilai yang bisa disimpan atau diolah:
function tambah(a, b) {
console.log(a + b); // tampil di console, tapi...
}
let x = tambah(2, 3); // x = undefined!
function tambahBenar(a, b) {
return a + b;
}
let y = tambahBenar(2, 3); // y = 5, bisa dipakaiCatatan teknis: Fungsi tanpa return (atau return tanpa nilai) mengembalikan undefined secara otomatis. Jadi kalau hasil fungsimu undefined padahal tidak seharusnya, cek dulu apakah ada return di dalamnya.
Mengembalikan banyak nilai
return hanya bisa mengembalikan satu nilai, tapi satu nilai itu bisa berupa array atau object:
function statistik(angka) {
let total = angka.reduce((a, b) => a + b, 0);
return {
total: total,
rata: total / angka.length,
jumlah: angka.length
};
}
let hasil = statistik([10, 20, 30]);
console.log(hasil.rata); // 20
// atau langsung destructuring
let { total, rata } = statistik([10, 20, 30]);
console.log(total, rata); // 60 20Pola mengembalikan object sangat umum di JavaScript. Dibanding mengembalikan array, object punya nama properti yang menjelaskan arti tiap nilai. Pemanggil tidak perlu hafal urutan, cukup sebut namanya.
Kesimpulan
Gunakan return untuk fungsi yang menghitung atau menghasilkan sesuatu, console.log hanya untuk debugging. Kebiasaan ini membuat fungsimu bisa dirangkai menjadi program yang lebih besar.