Rumah > hujung hadapan web > tutorial js > Bagaimanakah `let` dan `const` Berbeza daripada `var` dalam JavaScript Hoisting?

Bagaimanakah `let` dan `const` Berbeza daripada `var` dalam JavaScript Hoisting?

Barbara Streisand
Lepaskan: 2024-12-31 04:18:12
asal
308 orang telah melayarinya

How Do `let` and `const` Differ from `var` in JavaScript Hoisting?

Peningkatan Pembolehubah Diisytiharkan dengan let atau const

Walaupun pembolehubah yang diisytiharkan dengan var berkelakuan seperti yang diharapkan semasa dinaikkan, pembolehubah yang diisytiharkan dengan let atau const pameran tingkah laku yang berbeza.

Angkat Semua Pengisytiharan

Semua pengisytiharan JavaScript (var, let, const, function, function*, class) menjalani pengangkatan, bermakna ia boleh dikenali di mana-mana dalam skop masing-masing.

Perbezaan Permulaan

Walau bagaimanapun, perbezaan antara var/fungsi/fungsi* dan perisytiharan let/const/class terletak pada permulaannya. Perisytiharan Var dimulakan dengan tidak ditentukan dari saat penciptaan mengikat pada permulaan skop. Sebaliknya, pengisytiharan let/const/class kekal tidak dimulakan sehingga penyataannya dinilai.

Zon Mati Sementara untuk Pembolehubah Tidak Dimulakan

Keadaan tidak dimulakan ini mewujudkan "zon mati sementara " di mana mengakses pembolehubah sebelum permulaan menghasilkan a ReferenceError.

Contoh:

x = y = "global";
(function() {
    x; // undefined
    y; // Reference error: y is not defined

    var x = "local";
    let y = "local";
}());
Salin selepas log masuk

let vs. const dalam Hoisting

Biar dan const beroperasi secara sama dari segi istilah daripada mengangkat. Perbezaan di antara mereka ialah pemalar mesti sentiasa diberi nilai semasa pengisytiharan.

Kesimpulan

Pembolehubah yang diisytiharkan dengan let atau const dinaikkan, tetapi ia kekal tidak dimulakan dalam zon mati sementara sehingga pernyataan pengisytiharan mereka diproses. Mengaksesnya lebih awal akan mengakibatkan ReferenceError.

Atas ialah kandungan terperinci Bagaimanakah `let` dan `const` Berbeza daripada `var` dalam JavaScript Hoisting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan