Tipe utilitas bawaan TypeScript beserta kata kunci yang menyertainya, dikelompokkan per tugas: membentuk ulang objek, menyaring union, mendeskripsikan fungsi, mentransformasi string literal, dan menangkap tipe dari nilai. Setiap baris menunjukkan tipenya dan alias nyata yang akan Anda tulis.
Tipe utilitas adalah fungsi generik untuk tipe: mereka menerima satu atau dua tipe dan mengembalikan tipe baru, sehingga Anda tidak perlu menuliskan setiap bentuk secara manual. Mereka unggul untuk tipe turunan, saat sumber kebenaran adalah tipe atau nilai lain dan Anda ingin tipe Anda mengikutinya secara otomatis. Aturan praktisnya: turunkan, jangan duplikat — jika Anda mengubah sumbernya, tipe turunan ikut berubah.
Tabel referensi · 22 entri
Tipe utilitas TypeScriptExplained
22 of 22 rows
Bentuk objek
T dengan setiap properti menjadi opsional.
type Update = Partial<User>
T dengan setiap properti menjadi wajib.
type Strict = Required<Opts>
T dengan setiap properti menjadi readonly.
type Frozen = Readonly<User>
T dengan hanya kunci di K yang dipertahankan.
type Preview = Pick<User, "id" | "name">
T dengan kunci di K dihapus.
type SafeUser = Omit<User, "password">
Objek yang kuncinya adalah K dan nilainya adalah V.
type Scores = Record<string, number>
Penyaringan union
Union U dengan anggota yang dapat di-assign ke X dihapus.
type NoNull = Exclude<T, null>
Anggota U yang dapat di-assign ke X.
type OnlyStr = Extract<T, string>
T dengan null dan undefined dihapus.
type Def = NonNullable<T>
Tipe fungsi
Tuple dari tipe parameter fungsi F.
type P = Parameters<typeof fn>
Tipe yang dikembalikan fungsi F.
type R = ReturnType<typeof fn>
Tuple dari tipe parameter konstruktor F.
type C = ConstructorParameters<typeof Date>
Tipe instance yang dihasilkan konstruktor F.
type D = InstanceType<typeof Date>
Tipe yang diselesaikan oleh sebuah Promise, secara rekursif.
type Data = Awaited<Promise<User>>
Transformasi string literal
String literal S dalam huruf besar.
type A = Uppercase<"abc"> // "ABC"
String literal S dalam huruf kecil.
type B = Lowercase<"ABC"> // "abc"
S dengan karakter pertama dalam huruf besar.
type C = Capitalize<"abc"> // "Abc"
S dengan karakter pertama dalam huruf kecil.
type D = Uncapitalize<"Abc"> // "aBc"
Kata kunci terkait
Union dari kunci properti tipe objek T.
type K = keyof User
Tipe dari sebuah nilai, tanpa menuliskannya lagi.
type Config = typeof defaults
Menangkap sebuah tipe di dalam conditional untuk digunakan kembali.
type El<T> = T extends Array<infer I> ? I : never
Memilih tipe X atau Y berdasarkan apakah T dapat di-assign ke U.