Catatan: JavaScript
tidak punya keyword
final (itu milik Java/Dart). Untuk membuat nilai
yang tidak bisa diubah, JavaScript memakai const.
Sebelum membuat function, kita perlu tahu cara membuat variabel. Ada tiga keyword: var,
let, dan const — masing-masing punya aturan berbeda soal scope,
deklarasi ulang, dan pengubahan nilai.
| Aspek | var |
let |
const |
|---|---|---|---|
| Scope | Function | Block { } |
Block { } |
| Boleh dideklarasi ulang | ✅ Ya | ❌ Tidak | ❌ Tidak |
| Boleh diubah (re-assign) | ✅ Ya | ✅ Ya | ❌ Tidak |
| Wajib diberi nilai awal | Tidak | Tidak | Ya |
| Rekomendasi | Hindari (gaya lama) | Pakai jika nilai berubah | Pilihan utama (default) |
var — gaya lama (function scope)
var x = 1;
var x = 2; // boleh dideklarasi ulang
x = 3; // boleh diubah
function contoh() {
if (true) {
var y = 10;
}
console.log(y); // -> 10 (var TIDAK mengenal block scope)
}
let — modern (block scope, bisa diubah)
let a = 1;
a = 2; // boleh diubah
// let a = 3; // ERROR: tidak boleh dideklarasi ulang
if (true) {
let b = 10;
}
// console.log(b); // ERROR: b hanya hidup di dalam block { }
const — nilai tetap (pengganti "final")
const PI = 3.14;
// PI = 3.15; // ERROR: const tidak boleh di-reassign
// Catatan penting: untuk array/object, ISINYA masih bisa diubah,
// yang dilarang hanya MENGGANTI seluruh referensinya.
const daftar = [1, 2];
daftar.push(3); // boleh
console.log(daftar); // -> [1, 2, 3]
// daftar = [9]; // ERROR: tidak boleh ganti seluruh array
Aturan praktis: pakai
const sebagai
default, ganti ke let hanya jika nilainya memang perlu berubah, dan
hindari var di kode modern.