Kak untuk perbedaan deklarasi dgn menggunakan var atau let apa yaa? Kayanya let lebih sering digunakan ya kaa?
var
sudah hampir tidak digunakan dalam JavaScript sejak ES6. Satu-satunya alasan var
belum dihilangkan adalah beberapa browser seperti Internet Explorer dan Opera Mini belum mendukung secara penuh syntax ES6.
Tapi kakak sebaiknya pakai const
dan let
saja. Jangan gunakan var
karena dua alasan:
- scope/lingkup variabel
- konflik penamaan variabel
Kalau kakak pakai var
dan secara tidak sengaja mendeklarasikan variabel dengan nama yang sama dua kali, tidak ada error yang muncul. Kalau tidak disadari, ini akan menjadi sumber error yang besar karena nantinya akan sulit melakukan proses debugging.
var nama = "adi"
...
...
...
var nama = "budi" //valid. Tidak ada error yang muncul
Sedangkan kalau kakak pakai let
atau const
dan tidak sengaja membuat variabel dengan nama yang sama, akan muncul error; jadi kecil kemungkinan terjadinya kesalahan karena penamaan.
let name = "farhan"
...
..
..
let name = "eugene" // SyntaxError (identifier has already been declared)
Contoh lain. Misal ada variabel bernama number
. Lalu kakak membuat sebuah if-else statement yang di dalamnya ada variabel lain bernama number
juga. Kalau kakak tidak sadar, nilai variabel yang pertama bisa tertimpa dan programnya tidak akan berjalan dengan benar.
var number = 301;
...
...
if ( .... ) {
var number = 1 // variabel number yang tadi akan tertimpa nilainya.
...
...
}
Untuk menghindari kesalahan-kesalahan seperti itu
- gunakan
let
danconst
karena scope/lingkup mereka itu di dalam block { … }, - gunakan nama variabel yang jelas. Ngga perlu panjang2, tapi kalau ternyata harus panjang untuk membedakan satu dengan yang lain ya gapapa.
Jadi jangan cuma name
atau number
. Karena programmer lain pasti bingung, ini nama siapa? ini bilangan apa?
Bisa diganti sesuai konteksnya, misal studentName
atau numberOfIterations
.