Hoisting Pemrograman JavaScript
- Halaman sebelumnya Skop JS
- Halaman berikutnya Mode Kecil JS
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
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
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
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
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
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。
- Halaman sebelumnya Skop JS
- Halaman berikutnya Mode Kecil JS