Array dan Tuple
Array bertipe, array readonly, dan tuple untuk data berpasangan dengan panjang tetap.
Array Bertipe
Ada dua cara menulis tipe array, pilih yang kamu suka:
let angka: number[] = [1, 2, 3];
let nama: Array<string> = ["ana", "budi"];
angka.push("empat");
// Error: Argument of type 'string' is not assignable to parameter of type 'number'.Sekali dideklarasikan number[], compiler menolak nilai non-number masuk. Method seperti map dan filter pun otomatis tahu tipe elemennya, jadi autocomplete di editor akurat.
readonly: Array yang Tidak Boleh Diubah
const konfigurasi: readonly string[] = ["a", "b"];
konfigurasi.push("c");
// Error: Property 'push' does not exist on type 'readonly string[]'.Berguna untuk data konstan. Catatan: ini proteksi di level tipe saja, bukan Object.freeze di runtime.
Tuple: Pasangan dengan Urutan Tetap
Kadang data adalah pasangan berurutan, misalnya koordinat atau hasil return [nilai, setter]. Tuple mengunci tipe tiap posisi:
let koordinat: [number, number] = [10, 20];
koordinat = [10, "dua puluh"];
// Error: Type 'string' is not assignable to type 'number'.
let user: [string, number, boolean] = ["ana", 17, true];Beda dengan number[] yang isinya bebas berapa pun, tuple (string, number) harus persis dua elemen dengan urutan itu.
Catatan teknis: Tuple rentan terhadap
push. TypeScript mengizinkankoordinat.push(30)walau tuple dideklarasikan dua elemen (keterbatasan yang sudah lama dikenal). Kalau panjang harus dijamin, pakaireadonly [number, number]atau hindari mutasi langsung.