Hoisting Pemrograman JavaScript

Naikkan (Hoisting) adalah perilaku baku JavaScript yang memindahkan deklarasi ke atas.

Deklarasi JavaScript akan naikkan

Di JavaScript, dapat mendeklarasikan variabel setelah penggunaannya.

Artinya, dapat digunakan sebelum deklarasi variabel.

Contoh 1 DenganContoh 2 Hasilnya sama:

Contoh 1

x = 5; // Asumsi nilai 5 ke x
elem = document.getElementById("demo"); // Cari elemen
elem.innerHTML = x;                     // Tampilkan x di elemen
var x; // Deklarasi x

Coba sendiri

Contoh 2

var x; // Deklarasi x
x = 5; // Asumsi nilai 5 ke x
elem = document.getElementById("demo"); // Cari elemen
elem.innerHTML = x;                     // Tampilkan x di elemen

Coba sendiri

Untuk memahami hal ini, Anda harus memahami istilah "hoisting".

Hoisting adalah perilaku baku JavaScript yang mengangkat semua deklarasi ke puncak area aksi sekarang (naikkan ke puncak skrip atau fungsi sekarang).

kata kunci let dan const

dengan let atau const Variabel dan konstanta yang dideklarasikan tidak akan naikkan!

Silakan JS Let / Const Baca lebih banyak tentang let dan const di sini.

Inisialisasi JavaScript tidak akan naikkan

JavaScript hanya naikkan deklarasi, bukan inisialisasi.

Contoh 1 DenganContoh 2 Hasilnya berbeda:

Contoh 1

var x = 5; // Inisialisasi x
var y = 7; // Inisialisasi y
elem = document.getElementById("demo"); // Cari elemen
elem.innerHTML = x + " " + y;           // Tampilkan x dan y

Coba sendiri

Contoh 2

var x = 5; // Inisialisasi x
elem = document.getElementById("demo"); // Cari elemen
elem.innerHTML = x + " " + y;           // Tampilkan x dan y
var y = 7; // Inisialisasi y 

Coba sendiri

Apakah contoh terakhir yang disebut y masih dapat dianggap belum ditentukan?

Ini kerana hanya deklarasi (var y) yang diangkat ke atas, bukan inisialisasi (=7).

Karena hoisting, y sudah dideklarasikan sebelum digunakan, tetapi karena belum diangkat untuk inisialisasi, nilai y masih belum ditentukan.

Contoh 2 juga sama:

Contoh

var x = 5; // Inisialisasi x
var y;     // Deklarasikan y
elem = document.getElementById("demo"); // Cari elemen
elem.innerHTML = x + " " + y;           // Tampilkan x dan y
y = 7;    // Berikan nilai 7 kepada y

Coba sendiri

Deklarasikan variabel di atas!

Hoisting (untuk banyak pengembang) adalah perilaku yang tak dikenal atau diabaikan dalam JavaScript.

Jika pengembang tidak memahami hoisting, program mungkin mengandung bug (kesalahan).

Untuk menghindari bug, deklarasikan semua variabel di awal setiap skop.

Karena hal ini adalah cara penggayaan kode JavaScript, tetapkan kebiasaan yang baik ini.

JavaScript dalam mode ketat tidak mengizinkan penggunaan variabel tanpa dideklarasikan.

Belajar di bab berikutnyause strict