Cara Membuat dan Menggunakan Jenis Utilitas TypeScript
TypeScript menyediakan sekumpulan utility types yang memudahkan transformasi dan pengelolaan tipe yang ada. Tipe utilitas bawaan ini memungkinkan pengembang untuk memanipulasi tipe dengan berbagai cara, membantu menyederhanakan kode dan menghindari pengulangan. Panduan ini membahas beberapa tipe utilitas yang paling umum dan cara pembuatan serta penggunaannya dalam proyek TypeScript.
Apa Jenis Utilitas TypeScript?
Tipe utilitas dalam TypeScript adalah tipe yang telah ditetapkan sebelumnya yang membantu dalam mengubah tipe lain. Tipe utilitas dapat digunakan untuk membuat tipe baru berdasarkan tipe yang sudah ada dengan memilih, menghilangkan, atau memodifikasi properti. Tipe utilitas berperan penting dalam menjaga kode tetap bersih dan dapat digunakan kembali.
Jenis Utilitas TypeScript yang Umum Digunakan
Berikut adalah beberapa jenis utilitas TypeScript yang paling umum digunakan:
- Partial<T> – Membuat semua properti bertipe
T
menjadi opsional. - Diperlukan<T> – Membuat semua properti bertipe
T
menjadi wajib. - Readonly<T> – Membuat semua properti bertipe
T
hanya-baca. - Pick<T, K> – Memilih sekumpulan properti
K
dari tipeT
. - Hilangkan <T, K> – Menghapus serangkaian properti
K
dari tipeT
. - Record<K, T> – Membuat tipe objek dengan kunci bertipe
K
dan nilai bertipeT
.
Contoh: Menggunakan Parsial<T>
Tipe utilitas Partial
menjadikan semua properti antarmuka bersifat opsional. Berikut cara penggunaannya:
interface User {
name: string;
age: number;
email: string;
}
const updateUser = (user: Partial<User>) => {
// Update logic
};
updateUser({ name: "John" });
Dalam contoh ini, updateUser
menerima argumen bertipe Partial<User>
, artinya hanya beberapa properti antarmuka User
yang diperlukan.
Contoh: Menggunakan Pick<T, K>
Tipe utilitas Pick
memungkinkan pemilihan subset properti dari suatu tipe:
interface User {
name: string;
age: number;
email: string;
}
type UserContactInfo = Pick<User, "name" | "email">;
const contactInfo: UserContactInfo = {
name: "John",
email: "john@example.com"
};
Di sini, Pick<User, “name” | “email”>
membuat tipe baru UserContactInfo
hanya dengan properti name
dan email
dari antarmuka User
asli.
Contoh: Menggunakan Omit<T, K>
Tipe utilitas Omit
menghapus properti yang ditentukan dari suatu tipe:
interface User {
name: string;
age: number;
email: string;
}
type UserWithoutEmail = Omit<User, "email">;
const user: UserWithoutEmail = {
name: "John",
age: 30
};
Dalam contoh ini, tipe UserWithoutEmail
dibuat dengan menghilangkan properti email
dari antarmuka User
.
Membuat Jenis Utilitas Kustom
Tipe utilitas kustom juga dapat dibuat menggunakan fitur tipe lanjutan TypeScript seperti tipe kondisional, tipe yang dipetakan, dan banyak lagi. Berikut ini adalah contoh sederhana tipe utilitas kustom yang menjadikan semua properti bersifat opsional:
type MyPartial<T> = {
[P in keyof T]?: T[P];
};
interface User {
name: string;
age: number;
email: string;
}
const user: MyPartial<User> = {
name: "Alice"
};
Tipe MyPartial
kustom ini berfungsi serupa dengan tipe utilitas Partial
bawaan TypeScript.
Kesimpulan
Tipe utilitas TypeScript merupakan fitur penting untuk bekerja dengan tipe secara fleksibel dan dapat digunakan kembali. Dengan memanfaatkan tipe utilitas ini, kode dapat dibuat lebih ringkas dan mudah dipelihara. Baik menggunakan tipe utilitas bawaan seperti Partial
, Pick
, dan Omit
atau membuat tipe khusus, tipe utilitas ini secara signifikan meningkatkan sistem tipe TypeScript.