Salah satu masalah terbesar dengan menyatakan variabel dengan kata kunci
var
adalah bahwa kita dapat menimpa deklarasi variabel tanpa kesalahan. Seperti contoh berikut:var nama = 'Verin';
var nama = 'Orin';
Console.log (nama);
// log 'Orin'
Seperti yang bisa kita lihat pada kode di atas, variabel nama awalnya dinyatakan sebagai Verin dan kemudian ditimpa menjadi Orin.
Dalam aplikasi kecil, mungkin ini tidak akan menemukan masalah, tetapi ketika kode kita menjadi semakin besar, kita mungkin secara tidak sengaja menimpa variabel yang tidak seharusnya ditimpa. Karena perilaku ini tidak memunculkan galat/error sehingga mencari dan memperbaiki bug menjadi lebih sulit.
Sebuah kata kunci baru yang disebut
Let
diperkenalkan di ES6 untuk memecahkan masalah potensial ini. Jika kita mengganti var
dengan let
dalam mendeklarasikan variabel dari kode di atas, hasilnya akan error.let nama = 'Verin';
let nama = 'Orin'; // menghasilkan error
Kesalahan ini dapat dilihat di konsol browser kita. Jadi tidak seperti
var
, ketika menggunakan Let
, variabel dengan nama yang sama hanya dapat dinyatakan sekali.Perbedaan lainnya yaitu dalam lingkupnya, jika var memiliki lingkup dalam function sedangkan let memiliki lingkup dalam block. Perhatikan contoh berikut:
let x = function() {
if(true) {
var v = 2;
let l = 1;
}
console.log(v); // 2
console.log(l); // Uncaught Reference: l is not defined
}
x();
Pada kode
console.log(v)
akan menghasilkan nilai 2 karena menggunakan var
yang bekerja dalam lingkup function, sementara console.log(l)
akan menghasilkan pesan error karena menggunakan let
yang hanya bekerja dalam lingkup block.Referensi:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/explore-differences-between-the-var-and-let-keywords
https://dev.to/nunocpnp/differences-between-var-and-let-keywords-2b85
0 Komentar