Variabel adalah tempat penyimpanan data dalam program. Di JavaScript, ada tiga cara untuk mendeklarasikan variabel: var, let, dan const.
Bayangkan variabel seperti kotak berlabel — kamu bisa menaruh nilai di dalamnya, membacanya, dan mengubahnya:
let nama = 'Budi'; // kotak bernama "nama" berisi teks "Budi"
let umur = 25; // kotak bernama "umur" berisi angka 25
let aktif = true; // kotak bernama "aktif" berisi nilai true
console.log(nama); // Budi
console.log(umur); // 25
let adalah cara modern dan yang direkomendasikan untuk mendeklarasikan variabel yang nilainya bisa berubah:
let skor = 0;
console.log(skor); // 0
skor = 10; // nilai berubah
console.log(skor); // 10
skor = skor + 5;
console.log(skor); // 15
Karakteristik let:
{} tempat ia dideklarasikan (block scope)let x = 10;
let x = 20; // ❌ Error! Tidak bisa deklarasi ulang
if (true) {
let y = 5; // hanya ada di dalam blok if ini
}
console.log(y); // ❌ Error! y tidak dikenal di sini
const digunakan untuk nilai yang tidak akan berubah setelah ditetapkan:
const PI = 3.14159;
const NAMA_APP = 'BelajarJS';
const URL_API = 'https://api.contoh.com';
PI = 3; // ❌ Error! Nilai const tidak bisa diubah
Penting: const tidak berarti nilai di dalamnya tidak bisa diubah sama sekali. Untuk objek dan array, isi di dalamnya masih bisa dimodifikasi:
const orang = { nama: 'Budi', umur: 25 };
orang.umur = 26; // ✅ Boleh — mengubah properti
orang = {}; // ❌ Error! Tidak bisa mengganti objek
const daftar = [1, 2, 3];
daftar.push(4); // ✅ Boleh — menambah elemen
daftar = []; // ❌ Error! Tidak bisa mengganti array
var adalah cara lama sebelum ES6 (2015). Sebaiknya dihindari karena perilakunya yang sering membingungkan:
var nama = 'Budi';
var nama = 'Sari'; // ✅ Tidak error, tapi ini tidak ideal
// var memiliki function scope, bukan block scope
if (true) {
var pesan = 'Halo';
}
console.log(pesan); // 'Halo' — var bocor ke luar blok!
// var mengalami hoisting
console.log(nilai); // undefined (bukan error!)
var nilai = 42;
| Aspek | var | let | const |
|---|---|---|---|
| Scope | Function | Block | Block |
| Dapat diubah | Ya | Ya | Tidak |
| Dapat dideklarasi ulang | Ya | Tidak | Tidak |
| Hoisting | Ya (undefined) | Tidak bisa diakses | Tidak bisa diakses |
| Rekomendasi | Hindari | Gunakan | Gunakan |
// ✅ Valid
let namaLengkap = 'Budi Santoso'; // camelCase — konvensi JavaScript
let umur = 25;
let _private = true;
let $harga = 50000;
let nama2 = 'nama kedua';
// ❌ Tidak Valid
let 2nama = 'salah'; // tidak boleh diawali angka
let nama lengkap = 'salah'; // tidak boleh ada spasi
let let = 'salah'; // tidak boleh pakai kata kunci JS
Konvensi penamaan yang umum di JavaScript:
// camelCase — untuk variabel dan fungsi
let namaDepan = 'Budi';
let totalHarga = 150000;
function hitungTotal() {}
// PascalCase — untuk class dan komponen
class OrangPengguna {}
// UPPER_SNAKE_CASE — untuk konstanta yang benar-benar tidak berubah
const BATAS_MAKSIMUM = 100;
const URL_SERVER = 'https://api.example.com';
// Deklarasi saja (nilai undefined)
let nama;
console.log(nama); // undefined
// Deklarasi + Inisialisasi
let umur = 25;
// Inisialisasi kemudian
let skor;
skor = 100;
// const HARUS diinisialisasi saat deklarasi
// const PI; // ❌ Error!
const PI = 3.14; // ✅ Benar
💡 Tips: Gunakan
constsebagai default — jika nanti ternyata nilainya perlu berubah, ubah kelet. Hindarivarsepenuhnya. Aturan sederhana ini membuat kode lebih mudah diprediksi dan bug lebih mudah ditemukan. 🎯
Kursus
JavaScript Dasar
Kategori
Dasar JavaScript
Durasi Pelajaran
20 menit