Rumah >hujung hadapan web >tutorial js >`let` lwn. `var` dalam JavaScript: Apakah Perbezaan Utama dalam Skop Pembolehubah?

`let` lwn. `var` dalam JavaScript: Apakah Perbezaan Utama dalam Skop Pembolehubah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-25 03:09:12892semak imbas

`let` vs. `var` in JavaScript: What are the Key Differences in Variable Scope?

"let" lwn. "var" dalam JavaScript: Apakah Perbezaannya?

JavaScript memperkenalkan kata kunci let dalam ECMAScript 6, menawarkan skop yang lebih terperinci untuk pembolehubah berbanding kepada var tradisional.

Perbezaan dalam Skop

Perbezaan utama terletak pada skop berubah-ubah. Pembolehubah yang diisytiharkan dengan var mempunyai skop peringkat fungsi, bermakna ia boleh diakses di mana-mana dalam fungsi yang disertakan. Sebaliknya, pembolehubah yang diisytiharkan dengan let mempunyai skop peringkat blok, bermakna ia hanya boleh diakses dalam blok terdekat yang ditakrifkan.

Bila Gunakan "let" Daripada "var"

Skop Sekatan:

  • Apabila anda perlu mencipta pembolehubah yang hanya boleh diakses dalam bahagian tertentu kod anda.
  • Untuk mengelakkan pengisytiharan semula pembolehubah atau Bayangan dalam skop yang sama.

Zon Mati Sementara:

  • Pembolehubah yang diisytiharkan dengan biarkan wujud dalam "zon mati sementara" sebelum pengisytiharannya, menyebabkan sebarang percubaan untuk mengaksesnya sebelum takrifan untuk menghasilkan ReferenceError. Ini membantu mengelakkan penggunaan pembolehubah yang tidak disengajakan.

Contoh Penggunaan

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();

Dalam contoh ini, foo (diisytiharkan dengan var) ialah boleh diakses sepanjang fungsi, manakala bar (diisytiharkan dengan let) hanya boleh diakses dalam blok bersarang. Percubaan untuk mengakses baz di luar blok menghasilkan ReferenceError kerana skop peringkat bloknya.

Nota: let lebih diutamakan daripada var dalam kebanyakan pembangunan JavaScript moden kerana skopnya yang lebih ketat dan dipertingkatkan kebolehbacaan kod.

Atas ialah kandungan terperinci `let` lwn. `var` dalam JavaScript: Apakah Perbezaan Utama dalam Skop Pembolehubah?. 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