Diskon kelas baru hingga 25%! Masukkan kupon "lebihcepat" di kelas ini

X
Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

HOISTING

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.

Apa itu Hoisting?

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.

Contoh Hoisting Variabel

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.

Contoh Hoisting Fungsi

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.

Let dan Const dalam Hoisting

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!

👈🏼 Scope variable
For loop 👉🏼