Array & Tuple — TypeScript

Array — kumpulan elemen dengan tipe yang sama: let angka: number[] = [1, 2, 3]; let nama: Array = ["Budi", "Ani"]; // alternatif syntax Tuple — array dengan pan

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]

Yang akan kamu pelajari