Rumah  >  Artikel  >  hujung hadapan web  >  Bezakan ciri-ciri berbeza var, let dan const

Bezakan ciri-ciri berbeza var, let dan const

PHPz
PHPzasal
2024-02-19 17:24:06307semak imbas

Bezakan ciri-ciri berbeza var, let dan const

Memahami ciri berbeza var, let dan const memerlukan contoh kod khusus

Dalam JavaScript, terdapat banyak cara untuk mengisytiharkan pembolehubah, yang paling biasa termasuk menggunakan kata kunci var, let dan const. Walaupun kedua-duanya digunakan untuk mengisytiharkan pembolehubah, mereka mempunyai ciri-ciri yang berbeza mengenai skop dan kebolehubah. Perbezaan antara mereka dijelaskan di bawah dengan contoh kod khusus.

var keyword

Mula-mula mari kita lihat penggunaan kata kunci var. Ia adalah cara yang paling awal diperkenalkan untuk mengisytiharkan pembolehubah dan mempunyai ciri-ciri skop global dan skop fungsi. Sebagai contoh, kita boleh mengisytiharkan pembolehubah seperti ini:

var name = "Alice";

function sayHello() {
  var message = "Hello " + name;
  console.log(message);
}

sayHello(); //输出:Hello Alice
console.log(message); //报错:message未定义

Dalam contoh di atas, pembolehubah nama diisytiharkan dalam skop global dan dirujuk dalam fungsi sayHello. Pembolehubah mesej diisytiharkan dalam fungsi sayHello dan hanya sah dalam skop fungsi. Menggunakan pembolehubah mesej di luar fungsi menghasilkan ralat yang tidak ditentukan.

Selain itu, pembolehubah yang diisytiharkan dengan var boleh ditugaskan semula. Contohnya:

var x = 10;
console.log(x); //输出:10

x = 20;
console.log(x); //输出:20

let kata kunci

let kata kunci ialah ciri baharu yang diperkenalkan dalam ES6 Berbanding dengan kata kunci var, ia mempunyai ciri skop peringkat blok. Skop peringkat blok bermakna pembolehubah adalah sah dalam blok di mana ia diisytiharkan, termasuk penyataan jika, untuk gelung, fungsi, dsb. Berikut ialah contoh mengisytiharkan pembolehubah menggunakan let:

let name = "Bob";

if (true) {
  let name = "Alice";
  console.log(name); //输出:Alice
}

console.log(name); //输出:Bob

Dalam contoh di atas, pembolehubah nama diisytiharkan semula di dalam blok pernyataan if dan hanya sah dalam blok itu. Apabila pembolehubah nama dirujuk di luar blok, nilai di luar blok digunakan.

Tidak seperti var, pembolehubah yang diisytiharkan oleh let tidak boleh diisytiharkan semula, tetapi ia boleh ditugaskan semula. Contohnya:

let x = 10;
console.log(x); //输出:10

x = 20;
console.log(x); //输出:20

const kata kunci

Kata kunci const juga merupakan ciri baharu yang diperkenalkan dalam ES6 dan digunakan untuk mengisytiharkan pemalar. Sama seperti let, const juga mempunyai ciri-ciri skop peringkat blok. Perbezaannya ialah pembolehubah yang diisytiharkan menggunakan const mesti dimulakan apabila diisytiharkan dan tidak boleh diubah suai setelah ditetapkan. Berikut ialah contoh pengisytiharan pemalar menggunakan const:

const PI = 3.14;
console.log(PI); //输出:3.14

PI = 3.14159; //报错:无法修改常量

Dalam contoh di atas, PI diisytiharkan sebagai pemalar dan dimulakan pada masa pengisytiharan. Dalam kod berikutnya, PI malar tidak boleh diubah suai.

Perlu diambil perhatian bahawa pemalar yang diisytiharkan sebagai const tidak boleh diubah kepada rujukan pembolehubah, bukan kepada nilai pembolehubah. Iaitu, jika pembolehubah adalah jenis objek atau tatasusunan, nilai sifat atau elemennya boleh diubah suai, tetapi nilai itu tidak boleh ditugaskan semula kepada pembolehubah.

const person = { name: "Alice" };
person.name = "Bob";

console.log(person); //输出:{ name: "Bob" }

person = { name: "Alice" }; //报错:无法修改常量

Melalui contoh kod di atas, kita boleh lebih memahami ciri-ciri berbeza antara var, let dan const. var mempunyai skop fungsi dan boleh ditugaskan semula, biarkan mempunyai skop peringkat blok dan boleh ditugaskan semula, dan const mempunyai skop peringkat blok dan tidak boleh ditugaskan semula. Memilih pengisytiharan yang sesuai bergantung pada keperluan dan reka bentuk kod anda.

Atas ialah kandungan terperinci Bezakan ciri-ciri berbeza var, let dan const. 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