Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari tentang Hoisting dalam JavaScript - konsep yang penting dalam pemrograman functional dan berfungsi untuk mengangkat deklarasi variabel ke bagian atas skrip.
Hoisting merupakan konsep penting dalam JavaScript yang sering menjadi pembicaraan hangat bagi para developer. Konsep ini mengacu pada bagaimana JavaScript mengangkat deklarasi variabel atau fungsi ke bagian atas skrip kode atau fungsi, sebelum kode tersebut dieksekusi.
Dalam JavaScript, Hoisting adalah perilaku default di mana semua deklarasi variabel dan fungsi dinaikkan atau “diangkat” ke bagian atas lingkup global atau fungsi sebelum eksekusi kode. Ini berarti kamu bisa menggunakan variabel sebelum kamu mendeklarasikannya. Hoisting tidak berlaku pada inisialisasi, hanya berlaku pada deklarasi.
Berikut adalah contoh hoisting dengan variabel menggunakan JavaScript:
console.log(pesan);
var pesan = "Hallo, ini contoh hoisting!";
Pada contoh di atas, jika kamu mencoba untuk log variabel pesan
sebelum mendeklarasikannya, outputnya akan undefined
dan tidak akan menghasilkan error.
JavaScript juga meng-Hoisting fungsi. Berikut contohnya:
hoistFunction();
function hoistFunction() {
console.log("Hallo, ini contoh hoisting fungsi!");
}
Meskipun fungsi hoistFunction()
dipanggil sebelum dideklarasikan, JavaScript mengangkat deklarasi fungsi ke atas dan kode di atas akan berjalan dengan baik.
Deklarasi menggunakan let
dan const
juga diangkat. Namun, mereka memiliki konsep temporal dead zone (TDZ), yaitu periode waktu dari mulai blok kode sampai deklarasi, dimana kita tidak dapat mengakses variabel tersebut. Ini berarti jika kita mencoba mengakses variabel let
atau const
sebelum mendeklarasikannya, maka akan menghasilkan error bukan undefined
.
console.log(pesanLet);
let pesanLet = "Hallo, ini contoh hoisting dengan let!";
Untuk kode di atas, akan menghasilkan error ReferenceError
karena pesanLet
adalah variabel let
yang berada dalam Temporal Dead Zone (TDZ).
Mengerti hoisting akan membuatmu lebih memahami bagaimana JavaScript bekerja di balik layar dan membantu kamu mengavoid bug yang mungkin muncul dalam kodenya. Selamat belajar!