JavaScript adalah bahasa pemrograman yang terus berkembang, dan salah satu perubahan paling signifikan datang sejak hadirnya ES6 (ECMAScript 2015) dengan diperkenalkannya let dan const sebagai alternatif dari var. Ketiga keyword ini digunakan untuk deklarasi variabel, tetapi cara kerjanya berbeda. Bagi pemula maupun developer berpengalaman, memahami perbedaan var, let, const dan mengetahui kapan harus menggunakannya sangat penting agar kode lebih aman, efisien, dan bebas dari bug yang sulit dilacak.
Sebelum ES6, JavaScript hanya memiliki var sebagai cara mendeklarasikan variabel. Namun, var memiliki kelemahan besar: tidak memiliki block scope (cakupan blok) dan bisa menyebabkan hoisting yang membingungkan. Karena itu, ES6 memperkenalkan let dan const untuk memberi developer kontrol yang lebih baik terhadap variabel.
Sekarang, ketiga cara ini masih valid, tetapi masing-masing punya kegunaan dan best practice tersendiri. Mari kita bahas satu per satu.
Baca juga: Closure dalam JavaScript: Konsep, Fungsi, dan Contoh Sederhana
Var adalah cara lama untuk mendeklarasikan variabel di JavaScript. Karakteristiknya adalah:
Contoh:
function testVar() {
if (true) {
var name = "Alice";
}
console.log(name); // "Alice" meskipun dideklarasikan dalam blok if
}
testVar();
Di contoh di atas, variabel name tetap bisa diakses di luar blok if, karena var tidak mengenal block scope.
Kapan Menggunakan Var?
Saat ini, penggunaan var sangat jarang direkomendasikan kecuali untuk alasan kompatibilitas dengan kode lama atau environment JavaScript yang belum mendukung ES6. Untuk proyek modern, hampir semua developer beralih ke let atau const.
Let diperkenalkan di ES6 sebagai pengganti var dengan cakupan lebih baik. Karakteristik let adalah:
Contoh:
function testLet() {
if (true) {
let age = 25;
console.log(age); // 25
}
console.log(age); // ReferenceError: age is not defined
}
testLet();
Let sangat berguna untuk variabel yang nilai atau state-nya akan berubah selama program berjalan.
Kapan Menggunakan Let?
Gunakan let ketika Anda membutuhkan variabel yang nilainya akan berubah. Contoh: counter dalam loop, status sementara dalam fungsi, atau nilai yang diperbarui dari input pengguna.
Const juga hadir sejak ES6, dengan karakteristik:
Contoh:
const PI = 3.14159;
PI = 3; // TypeError: Assignment to constant variable.
Namun, penting dipahami bahwa const tidak membuat data menjadi immutable, terutama untuk objek dan array. Yang tidak bisa diubah adalah referensinya, bukan kontennya.
Contoh dengan Objek:
const user = { name: "Alice", age: 25 };
user.age = 26; // Ini valid, karena hanya properti objek yang berubah
console.log(user.age); // 26
Kapan Menggunakan Const?
Gunakan const untuk variabel yang nilainya tidak akan berubah sepanjang program, seperti konfigurasi, nilai tetap (PI, URL API, dsb.), atau referensi objek yang tidak akan diganti dengan objek baru.
Agar lebih mudah dipahami, berikut tabel ringkas perbedaannya:
Fitur |
var |
let |
const |
Scope |
Function-scoped |
Block-scoped |
Block-scoped |
Hoisting |
Ya, inisialisasi undefined |
Ya, tapi tidak bisa dipakai sebelum deklarasi |
Ya, tapi tidak bisa dipakai sebelum deklarasi |
Bisa redeclare |
Ya |
Tidak |
Tidak |
Bisa di-update |
Ya |
Ya |
Tidak (kecuali isi objek/array) |
Dalam praktik modern, developer jarang sekali menggunakan var. Lebih baik fokus pada let dan const. Berikut panduan penggunaannya:
Contoh Penggunaan Sehari-hari
// Gunakan const untuk nilai tetap
const API_URL = "https://api.example.com";
// Gunakan let untuk nilai yang berubah
let counter = 0;
for (let i = 0; i < 5; i++) {
counter += i;
}
console.log(counter); // 10
// Hindari var
var oldVariable = "legacy code";
Beberapa kesalahan yang sering terjadi pada developer:
Baca juga: 10 Tools Data Engineering yang Wajib Dikuasai di 2025
Memahami perbedaan var, let, dan const di JavaScript adalah keterampilan fundamental bagi developer modern. Gunakan const untuk variabel yang tidak berubah, gunakan let untuk variabel yang dinamis, dan hindari var kecuali demi kompatibilitas dengan kode lama. Dengan praktik yang konsisten, kode JavaScript Anda akan lebih aman, terstruktur, dan mudah dipahami oleh tim.
Temukan Lowongan Pekerjaan Di MSBU Konsultan!