Perbedaan let, var dan const pada javascript
Di JavaScript, let
, var
, dan const
adalah kata kunci yang digunakan untuk mendeklarasikan variabel. Namun, terdapat perbedaan signifikan antara ketiganya, terutama dalam hal lingkup (scope) dan sifat mutabilitas (mutability) variabel. Berikut adalah perbedaan utama:
var
Scope: Variabel yang dideklarasikan dengan var
memiliki lingkup (scope) fungsi. Ini berarti variabel hanya dapat diakses di dalam fungsi tempat ia dideklarasikan.
Hoisting: Variabel yang dideklarasikan dengan var
akan di-“hoist” ke atas lingkup fungsinya. Ini berarti Anda dapat mengakses variabel sebelum ia dideklarasikan secara fisik dalam kode.
Reassignment: Nilai variabel yang dideklarasikan dengan var
dapat diubah kembali (direassign).
function example() {
var x = 10;
if (true) {
var x = 20; // Variabel x di sini sebenarnya adalah variabel yang sama dengan x di atas
}
console.log(x); // Output: 20
}
let
Scope: Variabel yang dideklarasikan dengan let
memiliki lingkup blok. Ini berarti variabel hanya dapat diakses di dalam blok tempat ia dideklarasikan.
Hoisting: Seperti var
, let
juga di-“hoist,” tetapi variabel tidak dapat diakses sebelum dideklarasikan dalam kode.
Reassignment: Nilai variabel yang dideklarasikan dengan let
dapat diubah kembali (direassign).
function example() {
let x = 10;
if (true) {
let x = 20; // Variabel x di sini adalah variabel yang berbeda dengan x di atas
}
console.log(x); // Output: 10
}
const
Scope: Variabel yang dideklarasikan dengan const
juga memiliki lingkup blok. Seperti let
, variabel hanya dapat diakses di dalam blok tempat ia dideklarasikan.
Hoisting: Sama seperti let
, const
di-“hoist” ke atas, tetapi tidak dapat diakses sebelum dideklarasikan dalam kode.
Reassignment: Variabel yang dideklarasikan dengan const
tidak dapat diubah kembali setelah nilai awalnya ditetapkan. Namun, perhatikan bahwa untuk objek dan array yang dideklarasikan dengan const
, isi dari objek atau array tersebut masih bisa diubah.
Pemilihan antara var
, let
, atau const
tergantung pada kebutuhan dan skenario pengembangan kode Anda. Umumnya, disarankan untuk menggunakan const
ketika mungkin, karena ini membantu menghasilkan kode yang lebih aman dan mudah dipahami. Gunakan let
jika Anda memerlukan variabel yang nilainya dapat berubah, dan hindari penggunaan var
kecuali jika Anda bekerja pada kode lama yang mungkin menggunakan var
.