hoisting JavaScript

Hoisting (Mengangkat) adalah perilaku default JavaScript untuk memindahkan deklarasi ke atas.

Deklarasi JavaScript adalah Hoisted

Dalam JavaScript, sebuah variabel dapat dideklarasikan setelah digunakan.

Dengan kata lain; Sebuah variabel dapat digunakan sebelum telah diumumkan.

Contoh 1 memberikan hasil yang sama seperti Contoh 2:
Contoh 1
x = 5; // Tetapkan 5 sampai x

elem = document.getElementById ("demo"); // Temukan sebuah elemen
elem.innerHTML = x; // Tampilkan x di elemen

var x; // Deklarasikan x

Contoh 2
var x; // Deklarasikan x
x = 5; // Tetapkan 5 sampai x

elem = document.getElementById ("demo"); // Temukan sebuah elemen
elem.innerHTML = x; // Tampilkan x di elemen

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

Mengangkat adalah perilaku default JavaScript untuk memindahkan semua deklarasi ke bagian atas ruang lingkup saat ini (ke bagian atas skrip saat ini atau fungsi saat ini).

Inisialisasi JavaScript Tidak Hoisted
JavaScript hanya mengungguli deklarasi, bukan inisialisasi.

Contoh 1 tidak memberikan hasil yang sama seperti Contoh 2:
Contoh 1
var x = 5; // Inisialisasi x
var y = 7; / / Inisialisasi y
elem = document.getElementById ("demo"); // Temukan sebuah elemen
elem.innerHTML = x + "" + y; // Tampilkan x dan y

Contoh 2
var x = 5; // Inisialisasi x

elem = document.getElementById ("demo"); // Temukan sebuah elemen
elem.innerHTML = x + "" + y; // Tampilkan x dan y

var y = 7; / / Inisialisasi y

Apakah masuk akal bahwa y tidak terdefinisi dalam contoh terakhir?

Hal ini karena hanya deklarasi (var y), bukan inisialisasi (= 7) yang diangkat ke atas.

Karena pengangkatan, y telah dideklarasikan sebelum digunakan, namun karena inisialisasi tidak dikibarkan, nilai y tidak terdefinisi.

Contoh 2 adalah sama dengan menulis:
Contoh
var x = 5; // Inisialisasi x
var y; // Deklarasikan y

elem = document.getElementById ("demo"); // Temukan sebuah elemen
elem.innerHTML = x + "" + y; // Tampilkan x dan y

y = 7; // Tetapkan 7 sampai y
Deklarasikan variabel Anda di Atas!

Mengangkat adalah (untuk banyak pengembang) perilaku JavaScript yang tidak diketahui atau diabaikan.

Jika pengembang tidak mengerti pengangkatan, program mungkin berisi bug (kesalahan).

Untuk menghindari bug, selalu nyatakan semua variabel di awal setiap ruang lingkup.

Karena ini adalah bagaimana JavaScript menginterpretasikan kode, itu selalu merupakan aturan yang baik.
Previous
Next Post »
Thanks for your comment