Tipe Kondisional (pengantar) & distribusi atas union
Pelajari tipe kondisional (T extends U ? X : Y) dan cara tipe tersebut didistribusikan atas union untuk logika tingkat tipe yang kuat.
Tipe Kondisional (pengantar) & distribusi atas union adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 3 pelajaran total.
Pendahuluan
Tujuan: Gunakan tipe kondisional (T extends U ? X : Y) untuk melakukan percabangan pada tingkat tipe, dan pahami distribusi pada union untuk memperoleh hasil yang tepat.
Kondisional dasar
Tipe kondisional mengembalikan salah satu dari dua tipe berdasarkan apakah T extends U terpenuhi.
type IsString<T> = T extends string ? true : false;
let a: IsString<string>; // true
let b: IsString<number>; // false
Distribusi
Dengan parameter tipe T yang telanjang, kondisional dijalankan pada setiap anggota union, lalu hasilnya digabungkan menjadi union.
type ToArray<T> = T extends any ? T[] : never;
type R1 = ToArray<string | number>; // string[] | number[]Menghentikan distribusi
Bungkus T dalam tuple (misalnya, [T]) untuk menghentikan distribusi dan memperlakukan union sebagai satu kesatuan.
type ToArrayNoDistrib<T> = [T] extends [any] ? T[] : never;
type R2 = ToArrayNoDistrib<string | number>; // (string | number)[]Exclude praktis
Banyak tipe utilitas bergantung pada distribusi (misalnya, Exclude, Extract). Anda dapat membuat variasi sendiri dengan mudah.
type MyExclude<T, U> = T extends U ? never : T;
type R3 = MyExclude<"a" | "b" | "c", "b">; // "a" | "c"Tips
Tips:
- Distribusi hanya terjadi pada parameter tipe telanjang di sebelah kiri
extends. - Bungkus dalam tuple untuk menonaktifkannya.
- Uji dengan contoh kecil untuk memastikan pemahaman.
Pemeriksaan distribusi
Pemeriksaan singkat: Mengapa tipe kondisional terdistribusi pada union?
Rangkuman
Rangkuman: Gunakan tipe kondisional untuk melakukan percabangan pada tingkat tipe. Pahami kapan hasilnya terdistribusi pada union dan cara menonaktifkannya dengan pembungkusan tuple.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Tipe Kondisional (pengantar) & distribusi atas union” gratis?
Ya — teks lengkap “Tipe Kondisional (pengantar) & distribusi atas union” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Tipe Kondisional (pengantar) & distribusi atas union”?
Pelajari tipe kondisional (T extends U ? X : Y) dan cara tipe tersebut didistribusikan atas union untuk logika tingkat tipe yang kuat. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.
Berapa lama pelajaran “Tipe Kondisional (pengantar) & distribusi atas union” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Antarmuka & alias tipe generik
- Tipe Kondisional (pengantar) & distribusi atas union
- Pola yang dapat digunakan ulang untuk model data