Memahami Perbezaan antara "let" dan "var" dalam JavaScript
Pengenalan kata kunci "let" dalam ECMAScript 6 telah mencetuskan kekeliruan mengenai hubungannya dengan kata kunci "var" tradisional. Untuk menjelaskannya, "biar" memperkenalkan pembolehubah tempatan dengan skop blok, manakala pemboleh ubah "var" adalah skop fungsi.
Skop Blok vs. Skop Fungsi
Perbezaan utama antara "let" dan "var" terletak pada mekanisme skopnya. Pembolehubah "Var" diisytiharkan dalam badan fungsi, tanpa mengira kurungan kerinting yang membatasi blok. Ini bermakna mereka boleh diakses dari mana-mana sahaja dalam fungsi. Sebaliknya, pembolehubah "biar" terhad kepada blok di mana ia diisytiharkan.
Contoh Kod
Pertimbangkan 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();
Dalam contoh ini, "foo" (diisytiharkan dengan "var") boleh diakses sepanjang fungsi "run", walaupun dalam blok dalam. Sebaliknya, "bar" (diisytiharkan dengan "let") hanya tersedia dalam blok di mana ia diisytiharkan. Perbezaan ini menyerlahkan skop blok pembolehubah "biar".
Bila Menggunakan "let" vs. "var"
Memandangkan mekanisme skop yang berbeza, ia adalah berhemat untuk menggunakan "let" dalam situasi di mana perlu untuk menyekat keterlihatan pembolehubah kepada blok tertentu. Ini amat berguna untuk mengurangkan pencemaran pembolehubah dan mencegah penimpaan secara tidak sengaja.
Sebaliknya, "var" kekal sesuai dalam senario di mana kebolehcapaian seluruh fungsi dikehendaki, seperti mengisytiharkan pembolehubah global atau apabila menggunakan pangkalan kod lama yang bergantung pada " var" untuk perisytiharan berubah.
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!