TypeScript Academy · Pelajaran

Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan

Namakan semula kunci semasa transformasi jenis.

Pelajaran 4 daripada 413 langkah

Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan ialah pelajaran TypeScript Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran TypeScript Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus TypeScript Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

TypeScript 4.1 menambahkan klausa `as` dalam jenis terpetakan, yang membolehkan anda memetakan semula (menamakan semula) kunci sebagai sebahagian daripada transformasi jenis.

Pemetaan Semula Kunci Asas

Tambahkan `as NewKeyType` selepas pemboleh ubah kunci untuk memetakan semula kepada nama kunci baharu.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Menapis Kunci dengan never

Kembalikan never daripada klausa `as` untuk mengalih keluar kunci itu daripada jenis yang terhasil.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Menjana Nama Pengambil

Gunakan Capitalize dengan jenis literal templat untuk menjana nama kaedah pengambil.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

Menjana Nama Penetap

Begitu juga, jana nama penetap untuk properti sesuatu jenis.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Menterbalikkan Jenis Record

Tukar kunci dan nilai menggunakan pemetaan semula kunci.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Pemetaan Semula Kunci Bersyarat

Gunakan transformasi kunci yang berbeza berdasarkan jenis nilai.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Menggabungkan dengan Literal Templat

Gunakan jenis literal templat dalam pemetaan semula untuk menjana kunci berruang nama.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Memetakan Kunci Simbol

Dengan pemetaan semula kunci, Anda juga boleh bekerja dengan kunci simbol.

Amali: Jenis FormData

Terbitkan objek borang bernilai rentetan daripada model data yang ditaip.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Menggabungkan as dengan Jenis Bersyarat

Pemetaan semula kunci dan jenis bersyarat boleh digabungkan untuk menghasilkan transformasi jenis yang sangat ekspresif.

Semakan Ringkas

Apakah kesan memulangkan `never` daripada klausa `as` dalam jenis terpetakan terhadap kunci itu?

Imbas Kembali

Klausa `as` dalam jenis terpetakan membolehkan Anda menamakan semula, menapis (melalui never), dan mengubah kunci menggunakan literal templat serta syarat. Ciri ini membolehkan corak berkuasa seperti penjanaan pengambil dan penetap serta penapisan properti berdasarkan jenis nilai.
Percuma untuk bermula

Pelajari TypeScript dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
101
Pelajaran
352

Soalan Lazim

Adakah pelajaran “Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan” percuma?

Ya — teks penuh “Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus TypeScript Academy, tingkat taraf kepada CoddyKit PRO. Kursus TypeScript Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan”?

Namakan semula kunci semasa transformasi jenis. Anda berlatih TypeScript Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan TypeScript Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran TypeScript Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Jenis Dipetakan: Mengubah Jenis Objek
  2. Pengubah Suai dalam Jenis Dipetakan: readonly dan ?
  3. Jenis Literal Templat: Corak Rentetan
  4. Pemetaan Semula Kunci dengan as dalam Jenis Dipetakan
← Kembali ke TypeScript Academy