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
Lepaskan: 2024-12-25 10:22:14
asal
806 orang telah melayarinya

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();
Salin selepas log masuk

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();
Salin selepas log masuk

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!

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