Perbedaan Keyword Var, Let, dan Const Pada JavaScript

Ibnu Syawal
3 min readMar 26, 2023

Pendahuluan

Pada artikel sebelumnya, kita telah belajar apa itu variable dan tipe data. Pada kesempatan ini, saya akan menjelaskan perbedaan mendasar kegunaan keyword var, let dan const.

Variable adalah suatu wadah yang dimana wadah ini dapat kita gunakan untuk menyimpan data yang kita perlukan. JavaScript mempunyai beberapa keyword untuk pen-deklarasian variable tersebut berdasarkan fungsi yang berbeda juga.

Scope

Perbedaan inti ada pada scope, apa itu scope? Scope adalah pembatas atau dinding dari suatu fungsi atau blok yang menjadi pembatas. Terdapat 2 tipe scope yaitu global dan local. Global scope dapat kita panggil dimana saja sedangkan local scope hanya dapat dipanggil pada blok dimana variable itu di-deklarasikan.

Keyword let merupakan local scope, bilamana kita men-deklarasikan sebuah variable dengan keyword let pada suatu fungsi, maka, variable tersebut hanya dapat kita baca pada fungsi yang dimana variable let tersebut dideklarasikan.

Berbeda dengan var dan const, kedua keyword tersebut merupakan global scope yang dimana variable dengan keyword var dan const dapat kita deklarasikan didalam maupun diluar fungsi seutuhnya dan dapat kita panggil dimana saja.

Var

Keyword var merupakan global scope yang bersifat re-declaration yang dimana variable yang telah kita deklarasikan sebelumnya dapat kita deklarasikan ulang menggunakan keyword var ataupun nama variable dengan value berbeda. Contoh:

var nama = 'Ibnu Syawal'
var nama = 'Adhi Saputra'
nama = 'Kunto Aji'
console.log(nama)

Dari output diatas akan menghasilkan ‘Kunto Aji’, dikarenakan variable nama telah kita deklarasikan berulang-ulang dengan value terakhir yaitu ‘Kunto Aji’.

let

Terdapat sedikit perbedaan antara keyword var dan let, untuk keyword let sendiri tidak bersifat re-declaration yang dimana kita tidak dapat mendeklarasikan ulang variable yang sama dengan menggunakan keyword let itu sendiri, contoh:

let umur = 19
let umur = 20
console.log(umur)

Bila kita jalankan kode di atas akan mengeluarkan output error yaitu Uncaught SyntaxError: Identifier ‘umur’ has already been declared. Tapi, bila kita deklarasikan variable umur tanpa menggunakan keyword let itu sendiri akan berjalan dengan normal

umur = 20 
console.log(umur) // akan menghasilkan output 20

const

Untuk keyword const adalah tipe variable konstanta, yang artinya kita tidak dapat mendeklarasikan ulang sebuah nama variable dengan keyword const yang telah dideklarasikan sebelumnya

const alamat = 'Jl. Pasir Jambu'
console.log(alamat) // akan menghasilkan output : Jl. Pasir Jambu

Bila kita deklarasikan ulang varible alamat maka akan menghasilkan output error seperti berikut :

alamat = 'Jl. Kasih Sayang' // Uncaught TypeError: Assignment to constant variable.

Dikarenakan variable alamat sebelumnya telah kita deklarasikan dengan keyword const, yang artinya kita tidak dapat mendeklarasikan kembali nama variable dari tipe variable const (konstanta/ tetap).

Adapun pengecualian dalam pendeklarasian ulang variable bertipe const itu sendiri dengan syarat variable tersebut bernilai Array maupun Object yang memungkinkan dalam 1 variable dapat bernilai lebih dari 1 value, contoh :

const JENIS_KELAMIN = ['Laki-laki', 'Perempuan']

// memasukan data baru kedalam variable bertipe konstanta
JENIS_KELAMIN.push('Rahasia')

console.log(JENIS_KELAMIN)
// akan menghasilkan output : ['Laki-laki', 'Perempuan', 'Rahasia']

Akhir Kata

Sebelumnya Terima Kasih karena telah membaca tulisan ini. Semoga tulisan ini dapat membantu teman-teman dalam memahami ilmu baru. Saya juga terbuka untuk kritik dan saran dari teman-teman.

Btw yang mau join group komunitas belajar kita bisa bergabung di: Group WhatsApp

--

--