Lewati ke konten utama

F4 · Modul 06

Desain dengan tipe

54 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Tulis daftar sekali dengan as const, lalu turunkan tipenya dengan typeof: satu sumber kebenaran untuk metode bayar, label, dan kode keluar. enum ditolak erasableSyntaxOnly karena menghasilkan kode JavaScript.
  • Anotasi melebarkan ke tipe yang ditulis, satisfies memeriksa tanpa melebarkan, dan as memaksa tanpa memeriksa.
  • Tipe bermerek (Rupiah) membuat angka rupiah tidak tertukar dengan angka biasa tanpa biaya runtime; as Rupiah hanya boleh ada di dalam rupiah().
  • Mapped, conditional, dan template literal type membuat tipe dari tipe lain; discriminated union membuat keadaan mustahil tidak bisa ditulis.
  • Tipe juga diuji: @ts-expect-error untuk yang harus ditolak, Sama<A, B> untuk kesamaan persis.

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: memakai tipe literal, as const, dan typeof untuk menurunkan tipe dari satu sumber kebenaran; menulis pengganti enum yang lolos erasableSyntaxOnly dan menjelaskan kenapa enum ditolak; memakai satisfies dan membedakannya dari anotasi dan asersi as; membuat tipe bermerek (Rupiah) beserta fungsi pembuatnya; menulis mapped type, conditional type (termasuk distribusi dan infer), dan template literal type; merancang tipe sehingga keadaan yang mustahil tidak bisa ditulis; menulis tes tipe dengan @ts-expect-error dan Sama<A, B> dan menjelaskan cara kerjanya; menjelaskan bagaimana tsc menghitung tipe dan di mana batasnya; menulis rupiah() dan HasilMuat untuk proyek Laporan Warung.

Proyek: Laporan Warung langkah 06: type Rupiah, rupiah(), dan HasilMuat (kontrak proyek §3).

Istilah di modul ini (47)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 8 berkas latihan + tes
  • 2 berkas data
Lihat isi zip
  • BACA-DULU.txt
  • latihan_f4_06_1.ts
  • latihan_f4_06_2.ts
  • latihan_f4_06_4.ts
  • latihan_f4_06_5.ts
  • latihan_f4_06_3.ts
  • latihan_f4_06_6.ts
  • latihan_f4_06_7.ts
  • latihan_f4_06_8.ts
  • laporan.json
  • laporan-rusak.json