Lompat ke konten utama
←

TypeScript Dasar

Pelajaran 7 dari 16

interface, type alias, dan utility type

Utility type: Partial dan Pick

Setelah pelajaran ini kamu bisa menurunkan tipe baru dari tipe yang sudah ada dengan Partial dan Pick.

  • ±13 menit
  • 3 latihan
  • Diperiksa 23 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Satu bentuk data sering dibutuhkan dalam beberapa varian: lengkap saat disimpan, sebagian saat diperbarui, dan terpotong saat ditampilkan. Menulis ulang interface untuk tiap varian membuat ketiganya bisa berbeda diam-diam. Utility type menurunkan varian itu dari satu interface asal, sehingga perubahan di asalnya ikut terbawa.

Partial<T> menghasilkan tipe dengan semua properti T menjadi opsional, cocok untuk fungsi pembaruan yang hanya menerima kolom yang berubah. Pick<T, K> menghasilkan tipe berisi properti yang disebut saja, ditulis sebagai teks dan digabung dengan tanda garis tegak bila lebih dari satu.

interface Produk {
  nama: string;
  harga: number;
  stok: number;
}

type Ubahan = Partial<Produk>;              // semua properti opsional
type Ringkas = Pick<Produk, "nama" | "harga">;

function perbarui(p: Produk, ubahan: Ubahan): Produk {
  return { ...p, ...ubahan };
}

const baru = perbarui({ nama: "Kopi Gayo", harga: 85000, stok: 2 }, { stok: 5 });

Menyebut nama properti yang tidak ada di tipe asal ditolak dengan pesan Type '"hrga"' does not satisfy the constraint, jadi salah ketik nama kolom tertangkap kompiler. Halaman Utility Types memuat pasangan kebalikannya: Required membuat semua properti wajib, dan Omit membuang properti yang disebut alih-alih menyimpannya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 1 lagi

Sebagian materi kelas ini diadaptasi dari Exercism — jalur TypeScript (MIT).