Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 1.35 KB

hoisting.md

File metadata and controls

30 lines (22 loc) · 1.35 KB
bab nomor halaman keterangan
19
94
Hoisting adalah perilaku default dalam JavaScript yang memindahkan deklarasi ke bagian atas. Saat menjalankan kode, itu menciptakan konteks eksekusi global pembuatan dan eksekusi. Pada tahap penciptaan, JavaScript memindahkan deklarasi variabel dan fungsi ke bagian atas halaman, yang dikenal sebagai hoisting.

Hoisting

Hoisting adalah perilaku default dalam JavaScript yang memindahkan deklarasi ke bagian atas. Saat menjalankan kode, itu menciptakan konteks eksekusi global: pembuatan dan eksekusi. Pada tahap penciptaan, JavaScript memindahkan deklarasi variabel dan fungsi ke bagian atas halaman, yang dikenal sebagai hoisting.

// Hoisting variabel
console.log(counter);
let counter = 1; // menghasilkan ReferenceError: Cannot access 'counter' before initialization

Meskipun counter ada di dalam memori heap tetapi belum diinisialisasi, sehingga itu menghasilkan kesalahan. Ini terjadi karena hoisting, variabel counter diangkat ke sini.

// Hoisting fungsi
const x = 20,
  y = 10;

let result = add(x, y); // ❌ Uncaught ReferenceError: add is not defined
console.log(result);

let add = (x, y) => x + y;

Di sini, fungsi add diangkat dan diinisialisasi dengan undefined di dalam memori heap pada tahap penciptaan konteks eksekusi global. Oleh karena itu, menghasilkan kesalahan.