Bekerja dengan Rekursi di JavaScript
Dalam pemrograman, ada konsep yang disebut
rekursi - ini adalah ketika suatu fungsi memanggil
dirinya sendiri. Mari kita lihat sebuah contoh.
Tampilkan angka dari 1
hingga 10 menggunakan rekursi:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // di sini fungsi memanggil dirinya sendiri
}
}
func();
Mari kita bahas bagaimana kode ini bekerja.
Kami memiliki variabel global i
dan fungsi func, di dalamnya konsol
menampilkan isi variabel i,
dan kemudian dilakukan ++.
Jika variabel kami i kurang dari atau
sama dengan 10, maka fungsi dipanggil kembali.
Karena variabel i - global,
maka pada setiap pemanggilan fungsi baru di dalamnya
akan ada nilai variabel i yang ditetapkan pada pemanggilan sebelumnya.
Hasilnya, fungsi akan memanggil dirinya
sendiri sampai i menjadi
lebih besar dari 10.
Perhatikan, bahwa dalam kasus kami tidak mungkin fungsi
dijalankan tanpa if - jika ini dilakukan,
maka akan terjadi pemanggilan fungsi yang tak terbatas.