Skip to main content

Command Palette

Search for a command to run...

Apa Bedanya keyword var dan let dalam JavaScript?

Memahami perbedaan antara var dan let dalam pemrograman JavaScript

Updated
2 min read
F

Web Artisan

Javascript memilik dua cara dalam membuat atau mendeklarasikan variabel. yaitu kita bisa menggunakan keyword var dan let. antara var dan let memiliki tujuan dan fungsi yang sama, namun memiliki perbedaan dalam karakteristik dan sifat.

Ruang Lingkup

perbedaan yang paling mendasar adalah dari ruang lingkup atau scope yang di milikinya. let memiliki ruang yang lebih sempit dari pada var.

Block Scope

let memiliki block scope, artinya variabel yang di buat dengan keyword tersebut hanya dapat di akses di dalam blok kode di mana ia di deklarasikan. perhatikan pada contoh kode berikut ini.

 if (true){
     let messageLet = "this let";

    // akses variabel let di blok kode if
     console.log(messageLet) // output: "this let" 
}

// akses variabel let di luar blok if
console.log(messageLet); // ReferenceError: messageLet is not defined

perhatikan pada contoh di atas. variabel messageLet akan error jika di akses di luar blok if, di mana variabel tersebut di deklarasikan. namun tidak terjadi error jika di akses di dalam blok if di mana itu masih di dalam ruangnya. ini tidak hanya berlaku dalam blok if, namun juga di dalam kode lainnya. misalnya di dalam blok fungsi, perulangan dan atau bahkan hanya di dalam blok kurung kurawal saja.

{
    let messageLet = "ini di dalam blok kurung kurawal";
    console.log(messageLet) // output: "ini di dalam blok kurung kurawal"
}

console.log(messageLet) //ReferenceError: messageLet is not defined

Function Scope

var memiliki function scope, artinya, ketika sebuah variabel di deklarasikan di dalam blok fungsi, maka ia hanya memilik jangkauan pada area itu saja. dengan itu, maka kita hanya dapat mengakses variabel tersebut di dalam fungsi di mana ia di deklarasikan.

function cetak(){
    var message = "di dalam fungsi";
    console.log(message);
}
cetak();
console.log(message); //ReferenceError: message is not defined

pada contoh kode di atas, pemanggilan fungsi object console.log(message) setelah pemanggilan fungsi cetak() akan terjadi error. karena mencoba mengakses variabel yang sebenarnya tidak tersedia.

let lebih aman !

let juga lebih aman di bandingkan dengan var bukan hanya di lihat dari scopenya saja. let mencegah adanya redeclare variabel.

let message = "hello world";
let message = "test";

jika kamu jalankan kode di atas, maka akan terjadi error. jadi untuk saat ini lebih di rekomendasikan menggunakan let ya !

10 views