ES6 - Perbedaan antara var dan let

belajar JavaScript ES6 - Perbedaan antara var dan let

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

Posting Komentar

0 Komentar