Rumah >hujung hadapan web >tutorial js >Let vs. Var dalam JavaScript: Apakah Perbezaan dalam Skop dan Penggunaan?

Let vs. Var dalam JavaScript: Apakah Perbezaan dalam Skop dan Penggunaan?

Barbara Streisand
Barbara Streisandasal
2024-12-25 10:22:14836semak imbas

Let vs. Var in JavaScript: What's the Difference in Scope and Usage?

Let vs. Var dalam JavaScript: Demystifying Scope and Temporal Dead Zones

Diperkenalkan dalam ECMAScript 6, kenyataan let telah mencetuskan kekeliruan di kalangan pembangun , terutamanya bagaimana ia berbeza daripada kata kunci var yang telah ditetapkan. Artikel ini menyelidiki nuansa antara dua perisytiharan pembolehubah ini, menyerlahkan peraturan skop dan kes penggunaan terbaiknya.

Skop

Perbezaan asasnya terletak pada tingkah laku skopnya. Pembolehubah yang diisytiharkan dengan var dihadkan kepada fungsi yang ditakrifkan dalam (skop fungsi), manakala pembolehubah dibiarkan terhad kepada blok yang disertakan di dalamnya (skop blok). Ini bermakna biarkan pembolehubah mempunyai skop yang lebih sempit, menghalangnya daripada berinteraksi dengan pembolehubah yang ditakrifkan di luar blok terdekatnya.

Contoh:

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 di atas, var variable moo kekal boleh diakses walaupun di luar bloknya, manakala let variable baz melemparkan ReferenceError apabila diakses di luarnya blok.

Zon Mati Temporal

Perbezaan lain ialah zon mati temporal (TDZ). Untuk pembolehubah let, terdapat TDZ dari titik pengisytiharan sehingga penghujung blok yang ditakrifkan. Dalam tempoh ini, mengakses pembolehubah let tanpa permulaan menghasilkan ReferenceError.

Contoh :

function test() {
  console.log(foo); // ReferenceError
  let foo = "Bar";
}

test();

Dalam kod ini, mengakses pembolehubah let foo sebelum ia dimulakan menghasilkan a ReferenceError kerana TDZ.

Bila Menggunakan Let vs. Var

Secara umum, lebih suka menggunakan let untuk pembolehubah dalam blok untuk mengelakkan mencemarkan skop global dan mencegah perlanggaran nama berubah. Var masih berguna untuk pembolehubah yang perlu boleh diakses merentas berbilang blok atau fungsi.

Atas ialah kandungan terperinci Let vs. Var dalam JavaScript: Apakah Perbezaan dalam Skop dan Penggunaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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