Mentafsir Perbezaan Antara "let" dan "var" dalam JavaScript
ES6 memperkenalkan kata kunci "let", sering dirujuk sebagai pembolehubah tempatan. Tingkah lakunya berbeza dengan ketara daripada kata kunci "var" tradisional dan memahami perbezaan ini adalah penting untuk pengekodan JavaScript yang berkesan.
Skop dan Sempadan Sekat
Perbezaan utama terletak pada peraturan skop. Pembolehubah "var" dikaitkan dengan skop fungsi penutup, manakala pembolehubah "biar" terikat pada blok penutup yang terdekat (ditandakan dengan {})—juga dikenali sebagai skop blok.
Kod Contoh
Pertimbangkan coretan kod berikut:
function run() {
var foo = "Foo";
let bar = "Bar";
console.log(foo, bar); // Foo Bar
{
var moo = "Mooo"
let baz = "Bazz";
console.log(moo, baz); // Mooo Bazz
}
console.log(moo); // Mooo
console.log(baz); // ReferenceError
}
run();
Salin selepas log masuk
-
Fungsi Skop (var): "foo" yang diisytiharkan dengan "var" boleh diakses sepanjang fungsi "run()".
-
Skop Sekat (biar): "bar" diisytiharkan dengan "let" hanya tersedia dalam blok yang ditakrifkan.
-
Pengisytiharan Semula (var): "moo" diisytiharkan dengan "var" boleh diisytiharkan semula dalam blok, yang membawa kepada membayangi.
-
Zon Mati Sementara (biar): "baz" yang diisytiharkan dengan "let" menjadi boleh diakses hanya selepas blok itu dilaksanakan, mewujudkan zon mati sementara.
-
Mengangkat (var): "moo" dinaikkan dan boleh boleh diakses di luar blok yang diisytiharkan masuk, tetapi "baz" tidak dinaikkan.
Bila Gunakan "let" Daripada "var"
"let" harus digunakan apabila:
- Anda memerlukan pembolehubah yang diskop kepada blok tertentu.
- Anda ingin mengelakkan konflik nama dan membayangi.
- Anda mahu melaksanakan lelaran peringkat blok (cth., gelung "untuk biarkan").
"var" masih boleh digunakan apabila:
- Anda memerlukan pembolehubah yang boleh diakses sepanjang fungsi.
- Anda perlu mengisytiharkan semula pembolehubah dalam bersarang blok.
- Anda sedang bekerja dengan kod warisan yang sangat bergantung pada "var".
Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara Kata Kunci `let` dan `var` JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!