Lompat ke konten utama
←

TypeScript Dasar

Pelajaran 3 dari 16

Anotasi tipe

Array, tuple, dan objek sebaris

Setelah pelajaran ini kamu bisa menuliskan tipe array, tuple, dan tipe objek langsung pada anotasinya.

  • ±13 menit
  • 3 latihan
  • Diperiksa 23 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Tipe array ditulis dengan menambahkan kurung siku di belakang tipe isinya: string[] berarti array berisi teks, number[] array berisi angka. Bentuk objek ditulis langsung di dalam kurung kurawal, dengan nama properti dan tipenya, dipisah titik koma.

const cabang: string[] = ["Semarang", "Padang"];
const stok: number[] = [12, 40];

function luas(ruang: { nama: string; panjang: number; lebar: number }): number {
  return ruang.panjang * ruang.lebar;
}

Tuple adalah array yang jumlah isinya sudah pasti dan tipe tiap posisinya berbeda-beda. Satu baris rekap penjualan yang berisi nama, jumlah, lalu harga satuan cocok ditulis sebagai [string, number, number]. Membaca posisi keempat dari tuple itu ditolak, dan mengalikan posisi kedua dengan ketiga langsung diizinkan karena keduanya sudah dikenali sebagai angka.

type Baris = [string, number, number];

const baris: Baris = ["Kopi Gayo", 3, 85000];
const nilai = baris[1] * baris[2];   // 255000, keduanya number

function geser(titik: readonly number[]): number[] {
  return [...titik];               // titik.push(1) ditolak kompiler
}

Memasukkan angka ke dalam string[] ditolak dengan pesan Type 'number' is not assignable to type 'string', begitu juga membaca properti yang tidak ada di tipe objeknya. Kata readonly di depan tipe array menutup method yang mengubah isi, seperti push dan sort, sehingga array yang dipinjam sebuah fungsi tidak berubah di pemanggilnya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 1 lagi

Sebagian materi kelas ini diadaptasi dari Exercism — jalur TypeScript (MIT).