Array — kumpulan elemen dengan tipe yang sama:
let angka: number[] = [1, 2, 3];
let nama: Array<string> = ["Budi", "Ani"]; // alternatif syntax
Tuple — array dengan panjang dan tipe tetap per posisi:
let koordinat: [number, number] = [10, 20];
let profil: [string, number] = ["Budi", 17];
// Akses
koordinat[0]; // 10 (number)
profil[1]; // 17 (number)
Readonly — Apa Saja yang Dilarang
readonly mencegah mutasi, bukan sekadar penggantian variable. Artinya:
const WARNA: readonly string[] = ["merah", "biru"];
WARNA.push("hijau"); // ❌ Error — push memodifikasi array
WARNA[0] = "hitam"; // ❌ Error — assign index juga modifikasi
WARNA.pop(); // ❌ Error
Tapi kamu tetap bisa membaca dan memetakan ke array baru:
WARNA[0]; // ✅ "merah"
WARNA.map(c => c + "!"); // ✅ bikin array baru, readonly tidak berubah
readonly itu cek di compile time — saat runtime, array-nya tetap array biasa. Gunanya untuk mencegah kode lain "tidak sengaja" memodifikasi data yang seharusnya tetap.
Array methods tetap berfungsi:
const angka: number[] = [1, 2, 3];
const doubled = angka.map((n: number): number => n * 2); // [2, 4, 6]