Apa perbedaan antara var, let dan const dalam javascript?

Apa perbedaan antara var, let dan const dalam javascript?

Deklarasi variabel hanya memberi tahu komputer bahwa ada variabel dan nilai apa yang harus dimulai. Mirip dengan bahasa pemrograman lainnya JavaScript juga memungkinkan untuk deklarasi variabel.

Ada tiga kata kunci dalam javascript yang dapat digunakan untuk mendeklarasikan variabel: let, var, dan const. Setiap kata kunci memiliki aturan dan implikasi yang berbeda untuk bagaimana variabel yang mereka buat dapat digunakan.

  1. membiarkan: Kata kunci LET mendeklarasikan variabel lokal yang dibatasi blok, secara opsional menginisialisasi ke nilai.

    Block-scoped berarti bahwa variabel hanya tersedia di dalam blok yang dinyatakan dalam, yang biasanya dilambangkan dengan kawat gigi keriting .

  2. var: Kata kunci VAR menyatakan variabel fungsi-scoped atau global, secara opsional menginisialisasi ke nilai.

    Fungsi-scoped berarti bahwa variabel hanya tersedia dalam fungsi yang dinyatakan dalam. Variabel global tersedia di seluruh kode Anda.

  3. Const: Kata kunci const menyatakan variabel konstan yang tidak dapat dilingkupi blok, i.e. variabel yang tidak dapat dipindahkan.

    Konstanta juga disebut "variabel immutable", tapi itu sedikit keliru karena mereka sebenarnya variabel - hanya yang tidak dapat dipindahkan.

Apa perbedaan antara var, let dan const?

Kata kunci VAR adalah cara tertua untuk mendeklarasikan variabel dalam JavaScript dan didukung oleh semua browser. Kata kunci LET DAN CONST adalah tambahan yang lebih baru untuk bahasa dan tidak didukung oleh browser yang lebih lama.

Jika Anda perlu mendukung browser yang lebih lama, Anda dapat menggunakan var bukannya let atau const. Jika Anda tidak perlu mendukung browser yang lebih lama, Anda dapat menggunakan Let atau Const. Jika Anda ingin variabel Anda tidak berubah, gunakan const.

Berikut beberapa contoh:

var x = 1; biarkan y = 2; const z = 3; x = 4; // ok y = 5; // ok z = 6; //Kesalahan
1234567var x = 1; Misalkan y = 2; const z = 3; x = 4; // ok y = 5; // ok z = 6; //Kesalahan

Seperti yang Anda lihat, variabel VAR dan Biarkan dapat dipindahkan, tetapi variabel const tidak bisa.

Perbedaan lainnya Antara var dan let/const adalah bahwa variabel var diliputi fungsi, sedangkan variabel let dan const diliputi blok.

Ini berarti bahwa variabel var hanya tersedia dalam fungsi yang dinyatakan dalam. Misalnya:

fungsi foo () var x = 1; foo (); menghibur.log (x); // ReferenceError: x tidak didefinisikan
123456function foo () var x = 1; foo (); konsol.log (x); // ReferenceError: x tidak didefinisikan

Di sisi lain, Variabel Let dan Const hanya tersedia di dalam blok mereka dinyatakan dalam. Misalnya:

function foo () let y = 2; const z = 3; foo (); menghibur.log (y); // ReferenceError: y tidak ditentukan konsol.log (z); // ReferenceError: z tidak didefinisikan
12345678function foo () let y = 2; const z = 3; foo (); konsol.log (y); // ReferenceError: y tidak ditentukan konsol.log (z); // ReferenceError: z tidak didefinisikan

Jadi, lebih dari itu, perbedaan utama antara var, let dan const adalah:

  • var adalah fungsi-scoped sementara let dan const adalah blok-scoped.
  • variabel var dapat dipindahkan sementara variabel let dan const tidak bisa.
  • Variabel var dinyatakan menggunakan kata kunci var sementara variabel let dan const dinyatakan menggunakan kata kunci let and const masing -masing.
  • variabel const tidak dapat diubah sementara variabel let dan var tidak.