Lompat ke konten utama
←

TypeScript Dasar

Pelajaran 13 dari 16

Union, literal, dan penyempitan

Misi: memeriksa data masuk

Setelah pelajaran ini kamu bisa menerima data pesanan dari luar program dan mengubahnya menjadi nilai bertipe pasti.

  • ±17 menit
  • 4 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

Formulir pemesanan Toko Nusantara mengirim data yang bentuknya tidak selalu rapi: status ditulis sebagai teks, jumlah kadang datang sebagai angka dan kadang sebagai teks, cara kirim berbeda bentuk antara ambil di gerai dan antar ke alamat, dan satu bagian datang mentah tanpa jaminan bentuk apa pun.

Empat latihan berikut memakai seluruh isi modul ini untuk menjinakkan data itu: union literal supaya status yang tidak dikenal ditolak kompiler, typeof untuk jumlah yang bertipe ganda, in untuk dua bentuk pengiriman, dan unknown untuk bagian yang belum diperiksa sama sekali. Setiap fungsi memiliki nilai balik yang aman untuk masukan yang tidak dikenal, sehingga tidak ada latihan yang berhenti dengan error saat berjalan.

Setiap test sengaja memuat masukan yang salah bentuk, seperti teks yang bukan angka atau null.

// Satu kiriman formulir apa adanya, sebelum diperiksa.
const kiriman = {
  status: "dikirim",
  jumlah: "12",                                  // kadang angka, kadang teks
  cara: { alamat: "Jl. Merdeka 10", ongkir: 12000 },  // atau { gerai: "Bandung" }
  pesanan: JSON.parse('{ "id": "INV-2026-0001" }'),   // bentuknya belum dijamin
};

Latihan

0/4 lulus

Misi akhir modul: luluskan minimal 4 dari 4 tugas. 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).