Apa perbedaan antara var, let dan const dalam javascript?
- 2347
- 40
- Simon Cormier
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.
- 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 .
- 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.
- 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; //Kesalahan1234567 | var 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 didefinisikan123456 | function 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 didefinisikan12345678 | function 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.