Hoisting Pemrograman JavaScript
- Halaman Sebelumnya Lingkungan JS
- Halaman Berikutnya Mode Keras JS
Naikkan (Hoisting) adalah perilaku baku JavaScript untuk memindahkan deklarasi ke atas.
Deklarasi JavaScript akan diangkat
Di JavaScript, dapat dideklarasikan variabel setelah digunakan.
Artinya, dapat digunakan sebelum deklarasi variabel.
Contoh 1 DenganContoh 2 Hasilnya sama:
Contoh 1
x = 5; // Berikan nilai 5 ke x elem = document.getElementById("demo"); // Cari elemen elem.innerHTML = x; // Tampilkan x di elemen var x; // Deklarasikan x
Contoh 2
var x; // Deklarasikan x x = 5; // Berikan 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 untuk naikkan semua deklarasi ke puncak lingkungan saat ini (naikkan ke puncak skrip saat ini atau fungsi saat ini).
kata kunci let dan const
dengan let
atau const
Variabel yang dideklarasikan dan konstanta tidak akan diangkat!
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 tidak sama:
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 masih masuk akal jika y di contoh terakhir masih belum terdefinisi?
Karena 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 tetap 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 Anda 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, selalu deklarasikan semua variabel di awal lingkungan.
Karena hal ini adalah cara penggalian kode JavaScript, jadilah gaya yang bagus.
Mode kertas keras JavaScript tidak mengijinkan penggunaan variabel tanpa pemberitahuan terlebih dahulu.
Silakan belajar di bab berikutnya “use strict”。
- Halaman Sebelumnya Lingkungan JS
- Halaman Berikutnya Mode Keras JS