F4 · Modul 06
Desain dengan tipe
54 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Tulis daftar sekali dengan
as const, lalu turunkan tipenya dengantypeof: satu sumber kebenaran untuk metode bayar, label, dan kode keluar.enumditolakerasableSyntaxOnlykarena menghasilkan kode JavaScript. - Anotasi melebarkan ke tipe yang ditulis,
satisfiesmemeriksa tanpa melebarkan, danasmemaksa tanpa memeriksa. - Tipe bermerek (
Rupiah) membuat angka rupiah tidak tertukar dengan angka biasa tanpa biaya runtime;as Rupiahhanya boleh ada di dalamrupiah(). - Mapped, conditional, dan template literal type membuat tipe dari tipe lain; discriminated union membuat keadaan mustahil tidak bisa ditulis.
- Tipe juga diuji:
@ts-expect-erroruntuk 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