Belajar Javascript Function

Kata Kunci Return

Materi ini memiliki 1 buah lampiran. Namun Anda tidak dapat mengakses lampiran karena belum terdaftar di kursus ini. Klik disini untuk mendaftar.

Pada video sebelumnya kita sudah membuat function rollDice yang menggunakan kata kunci return, namun kita belum membahas apakah arti dari return tersebut. Return digunakan untuk mengembalikan nilai ke pemanggil function. Jadi hasil perhitungan dari method Math.floor dan Math.random ini, nantinya dikembalikan ke pemanggil function, agar dapat digunakan lagi pada kode berikutnya.

Kita buka lagi kode sebelumnya. Kalau misalnya kata kunci return ini kita ganti menjadi console.log. Maka browser langsung menampilkan angka acak tersebut di console. Kelemahannya adalah angka ini tidak bisa kita gunakan lagi di kode berikutnya.

Apabila kita hendak menggunakannya di kode berikutnya, maka kita harus menyimpan angka tersebut di dalam variable. Kalau misalkan saya ketik kode

let dice = rollDice();

Hasil dari angka acaknya langsung ditampilkan di console, namun tidak disimpan di dalam variable dice. Jadi kalau kita panggil variable dice, isinya adalah undefined.

Kalau kita kembali ke kode, dan kita kembalikan console.log menjadi return. Dan kita jalankan kembali kode

let dice = rollDice();

Dari browser seolah-olah tidak terjadi apa-apa ya. Karena kode tidak menuliskan apa-apa ke console. Namun apabila kita memanggil variable dice, maka kita mendapatkan nilai acak yang dihasilkan oleh function rollDice(). Dan nantinya nilai ini bisa kita gunakan lagi di kode berikutnya. Misalkan kalau di dalam permainan, nilai dadu ini digunakan untuk maju berapa langkah ke depan.

Ada beberapa hal yang perlu kita ingat berkaitan dengan kata kunci return. Yang pertama, kata kunci return menghentikan eksekusi function. Artinya semua kode yang kita tulis setelah return tidak akan pernah dijalankan lagi. Jadi kata kunci return ini mirip dengan kata kunci break yang telah kita pelajari pada perulangan dan switch ya.

Kita langsung coba di coding ya. Misalkan pada function rollDice ini kita tambahkan beberapa console.log. Di sebelum return kita tambahkan

console.log(“Awal Kode”);

Dan disetelah return kita tambahkan

console.log(“Akhir Kode”);

Kalau kita simpan dan jalankan di browser. Maka kita hanya mendapatkan tulisan “Awal Kode” saja ya. Karena setelah browser bertemu dengan kata kunci return, browser langsung keluar dari function dan tidak menjalankan kode setelah return.

Hal kedua yang perlu kita perhatikan adalah return mengembalikan suatu nilai. Misalkan kita membuat satu function baru yang sederhana:

function myLuckyNumber()
{
  return 8;
}

Apabila function ini kita panggil di browser, maka kita mendapatkan nilai 8. Nilai yang kita return ini bisa diganti misalkan menjadi angka lain, atau bahkan tipe data lain misalkan string “Delapan”. Namun yang perlu diingat disini adalah return hanya mengembalikan satu nilai saja. Jadi kita tidak dapat mengembalikan misalkan angka 5 dan angka 8 sekaligus.

Apabila kita perlu mengembalikan banyak nilai, maka kita bisa menggunakan tipe data yang lebih rumit seperti array dan objek. Namun kita tetap dibatasi hanya boleh mengembalikan satu array atau objek saja.

Kita juga bisa memanggil kata kunci return tanpa mengembalikan nilai sama sekali. Misalkan kalau kode ini kita ubah menjadi return, maka function tetap berjalan dengan normal dan nilai yang dikembalikan adalah undefined. Atau kita juga boleh tidak menggunakan kata kunci return sama sekali dalam function kita, dan artinya function kita secara otomatis mengembalikan nilai undefined.

2 Jam 21 Menit
1. Pendahuluan 16 Menit
3. Head 13 Menit
10. Tabel 21 Menit
1 Jam 2 Menit
1. Form 15 Menit
2. Validasi 12 Menit
3. Input Type 15 Menit
4. Dropdown 9 Menit
1 Jam 29 Menit
9. Pseudo Class 11 Menit
3 Jam 26 Menit
2. Lebar/Width 13 Menit
16. CSS Reset 6 Menit
2 Jam 21 Menit
4. Flex-Wrap 10 Menit
3 Jam 17 Menit
7. Flex Utility 16 Menit
8. Operator 28 Menit
11. Objek String 18 Menit
4. Scope 10 Menit
5. Rekursif 10 Menit
8. Notasi Big O 24 Menit
4. Prototype 18 Menit
7. Map 19 Menit
8. Set 12 Menit
2. DOM Selector 40 Menit
7. DOM Traversal 14 Menit
Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.
Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.