0Pricing
TypeScript Academy · Pelajaran

Pemetaan ulang kunci & tipe literal templat

Petakan ulang kunci dengan “as”, buat kunci melalui literal templat (Capitalize/Uncapitalize), dan saring properti berdasarkan pola nama.

Pemetaan ulang kunci & tipe literal templat 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.

Pengantar

Tujuan: Gunakan pemetaan ulang kunci (klausa as) bersama tipe literal templat untuk mengganti nama, membuat, atau menghapus properti berdasarkan pola nama.

  • Ganti nama kunci: K as NewK
  • Saring kunci dengan never
  • Rangkai nama: `get${Capitalize<K>}`

Mengganti Nama Kunci

Ganti nama kunci dengan as. Contoh: Ubah nama snake_case menjadi camelCasee.

type Original = { first_name: string; last_name: string }

type Camelize<T> = {
  [K in keyof T as K extends `${infer A}_${infer B}`
    ? `${A}${Capitalize<B>}`
    : K]: T[K]
}

type UserCamel = Camelize<Original>  // { firstName: string; lastName: string }

Menyaring Berdasarkan Prefiks

Hapus kunci never. Pola: saring penangan peristiwa dengan `on${string}`.

type Props = { onClick: () => void; onSubmit: () => void; title: string }

type WithoutHandlers<T> = {
  [K in keyof T as K extends `on${string}` ? never : K]: T[K]
}

type Clean = WithoutHandlers<Props>  // { title: string }

Menghasilkan Metode

Buat permukaan API dengan nama templat: pola get${Capitalize<K>} digunakan untuk membuat pengakses dari bidang.

type Fields = "name" | "email"

type Getters<T extends string> = {
  [K in T as `get${Capitalize<K>}`]: () => string
}

type ClientAPI = Getters<Fields>
// { getName: () => string; getEmail: () => string }

Merangkai Pola

Gabungkan beberapa templat untuk menghasilkan nama yang kuat, sehingga penamaan tetap konsisten di seluruh proyek besar.

type Route = `/${"" | `${string}`}`

type HttpMethod = "get" | "post"

type Endpoints<T extends string, M extends string> = {
  [K in T as `${M}_${K}`]: { path: `/${K}`; method: Uppercase<M> }
}

type API = Endpoints<"users" | "login", HttpMethod>
// { get_users: { path: "/users"; method: "GET" }, post_login: { path: "/login"; method: "POST" } }

Kiat & Hal yang Perlu Diperhatikan

Kiat:

Pemetaan ulang membutuhkan biaya; pecah tipe kompleks menggunakan alias.

Gunakan templat sederhana untuk penyaring: `on${string}`, `data-${string}`.

Gunakan pembantu Capitalize/Uncapitalize/Uppercase/Lowercase.

Sederhanakan API jika pembuatan nama menjadi berlebihan.

Pemeriksaan Penyaringan Prefiks

Pemeriksaan singkat: Pola tipe terpetakan mana yang menghapus properti yang diawali dengan on?

Ringkasan

Ringkasan: Ganti nama atau saring dengan pemetaan ulang kunci; buat kunci dengan tipe literal templat; hapus kunci yang tidak diinginkan dengan never.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemetaan ulang kunci & tipe literal templat” gratis?

Ya — teks lengkap “Pemetaan ulang kunci & tipe literal templat” 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 “Pemetaan ulang kunci & tipe literal templat”?

Petakan ulang kunci dengan “as”, buat kunci melalui literal templat (Capitalize/Uncapitalize), dan saring properti berdasarkan pola nama. 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 “Pemetaan ulang kunci & tipe literal templat” 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 dengan +/-readonly dan +/-?
  2. Pemetaan ulang kunci & tipe literal templat
  3. Pengetikan pola string (parameter rute, nama peristiwa)
← Kembali ke TypeScript Academy