0Pricing
TypeScript Academy · Pelajaran

Tipe Terpetakan: Mengubah Tipe Objek

Telusuri kunci untuk membuat bentuk tipe baru.

Tipe Terpetakan: Mengubah Tipe Objek adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. 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 4 pelajaran total.

Selamat Datang

Tipe pemetaan melakukan iterasi pada kunci suatu tipe untuk membuat tipe baru dengan properti yang diubah. Tipe ini menjadi dasar Partial, Readonly, Record, dan banyak utilitas lainnya.

Sintaks Dasar Tipe Pemetaan

Gunakan `[K in keyof T]` untuk melakukan iterasi pada semua kunci T dan menghasilkan tipe baru.
type Copy<T> = { [K in keyof T]: T[K] };
type UserCopy = Copy<User>; // same as User

Menjadikan Semua Properti Opsional

Beginilah Partial diimplementasikan — tambahkan ? pada setiap properti.
type Partial<T> = { [K in keyof T]?: T[K] };
type PartialUser = Partial<User>;

Menjadikan Semua Properti Hanya-Baca

Tambahkan `readonly` pada setiap properti dalam tipe pemetaan.
type Readonly<T> = { readonly [K in keyof T]: T[K] };
type FrozenUser = Readonly<User>;

Mengubah Tipe Nilai

Ubah tipe nilai untuk setiap properti sambil mempertahankan kuncinya.
type Stringify<T> = { [K in keyof T]: string };
type StringUser = Stringify<User>; // all values are string

Memfilter Properti dengan never

Gunakan kondisional pada posisi nilai dan lakukan pemfilteran dengan never melalui pemetaan ulang kunci.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Record<K, V>

Record membuat tipe objek dengan kunci dan tipe nilai tertentu.
type Record<K extends string | number | symbol, V> = { [P in K]: V };
const roles: Record<'admin' | 'user', boolean> = { admin: true, user: false };

Tipe Pemetaan Mempertahankan Keopsionalan

Secara bawaan, tipe pemetaan mempertahankan pengubah opsional dan readonly dari tipe sumber.
interface User { id: number; name?: string; }
type Copy<T> = { [K in keyof T]: T[K] };
type C = Copy<User>; // id: number; name?: string (preserved)

Pemetaan Ulang Kunci dengan as

Petakan ulang kunci ke nama baru menggunakan `as` dalam tipe pemetaan.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};

Melakukan Iterasi pada Gabungan

Lakukan pemetaan pada tipe gabungan, bukan pada keyof T, untuk membuat tipe objek dari gabungan.
type Flags = { [K in 'option1' | 'option2' | 'option3']: boolean };

Menggabungkan Tipe Pemetaan dan Kondisional

Tipe pemetaan dan tipe kondisional dapat dipadukan secara alami untuk menghasilkan transformasi yang canggih.
type NullableValues<T> = { [K in keyof T]: T[K] | null };

Pemeriksaan Singkat

Apa yang dihasilkan oleh `{ [K in keyof T]?: T[K] }`?

Ringkasan

Tipe pemetaan melakukan iterasi pada kunci untuk membuat tipe baru. Tipe ini dapat menambahkan atau menghapus readonly dan ?, mengubah tipe nilai, memfilter kunci dengan never, serta memetakan ulang kunci dengan as. Tipe ini menjadi dasar semua tipe utilitas bawaan TypeScript.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tipe Terpetakan: Mengubah Tipe Objek” gratis?

Ya — teks lengkap “Tipe Terpetakan: Mengubah Tipe Objek” 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 4 pelajaran total.

Apa yang akan aku pelajari di “Tipe Terpetakan: Mengubah Tipe Objek”?

Telusuri kunci untuk membuat bentuk tipe baru. 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 1 dari 4.

Berapa lama pelajaran “Tipe Terpetakan: Mengubah Tipe Objek” 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

  1. Tipe Terpetakan: Mengubah Tipe Objek
  2. Pengubah dalam Tipe Terpetakan: readonly dan ?
  3. Tipe Literal Templat: Pola String
  4. Pemetaan Ulang Kunci dengan as dalam Tipe Terpetakan
← Kembali ke TypeScript Academy