TypeScript Academy · Pelajaran

Partial dan Required: Menukar Sifat Pilihan

Jadikan semua sifat pilihan atau wajib serentak.

Pelajaran 1 daripada 413 langkah

Partial dan Required: Menukar Sifat Pilihan ialah pelajaran TypeScript Academy percuma di CoddyKit. Ini ialah pelajaran 1 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

Partial menjadikan semua properti pilihan. Required menjadikan semua properti wajib. Kedua-duanya ialah jenis utiliti yang paling kerap digunakan untuk manipulasi data yang fleksibel.

Partial<T>

Partial menjadikan setiap properti T sebagai pilihan. Ia berguna untuk operasi kemas kini atau tampalan apabila Anda tidak mempunyai semua medan.
interface User { id: number; name: string; email: string; }
type PartialUser = Partial<User>;
// { id?: number; name?: string; email?: string; }

Partial dalam Fungsi Kemas Kini

Gunakan Partial apabila melaksanakan fungsi kemas kini atau cantum yang menerima medan yang berubah sahaja.
function updateUser(id: number, changes: Partial<User>): User {
  const existing = findUser(id)!;
  return { ...existing, ...changes };
}

Required<T>

Required membuang semua pengubah pilihan, lalu menjadikan setiap properti wajib.
type RequiredUser = Required<User>;
// All properties are now required — including those that were optional

Required untuk Pengesahan Konfigurasi

Gunakan Required selepas mencantumkan nilai lalai untuk memastikan semua nilai konfigurasi tersedia.
interface Config { host?: string; port?: number; }
const defaults: Required<Config> = { host: 'localhost', port: 3000 };
function createConfig(opts: Config): Required<Config> {
  return { ...defaults, ...opts };
}

Cara Partial Dilaksanakan

Partial menggunakan jenis terpetakan dengan pengubah +?.
type Partial<T> = { [K in keyof T]?: T[K] };
// Equivalent to: { [K in keyof T]+?: T[K] }

Cara Required Dilaksanakan

Required menggunakan jenis terpetakan dengan pengubah -?.
type Required<T> = { [K in keyof T]-?: T[K] };

Deep Partial

Partial terbina dalam bersifat cetek. Untuk objek bersarang, Anda memerlukan DeepPartial rekursif.
type DeepPartial<T> = {
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K]
};

Menggabungkan Partial dan Required

Wajibkan sesetengah medan sambil mengekalkan medan lain sebagai pilihan menggunakan persilangan.
// id required, everything else optional
type UpsertUser = Required<Pick<User, 'id'>> & Partial<Omit<User, 'id'>>;

Partial berbanding Properti Pilihan dalam Antara Muka

Mengisytiharkan semua properti antara muka sebagai pilihan sama seperti menggunakan Partial, tetapi hanya untuk jenis tertentu itu. Partial boleh digunakan semula dengan mana-mana jenis.

Penaakulan Jenis dengan Partial

TypeScript mengecilkan jenis properti Partial dengan betul — mengaksesnya mungkin mengembalikan T[K] | undefined.
function show(u: Partial<User>) {
  if (u.name !== undefined) {
    console.log(u.name.toUpperCase()); // safe
  }
}

Semakan Ringkas

Jenis utiliti manakah yang menjadikan SEMUA properti antara muka wajib, termasuk properti yang sebelum ini pilihan?

Imbas Kembali

Partial menjadikan semua properti pilihan (berguna untuk tampalan atau kemas kini). Required menjadikan semua properti wajib (berguna untuk pengesahan selepas cantuman). Kedua-duanya bersifat cetek — gunakan versi rekursif untuk jenis bersarang.
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 “Partial dan Required: Menukar Sifat Pilihan” percuma?

Ya — teks penuh “Partial dan Required: Menukar Sifat Pilihan” 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 “Partial dan Required: Menukar Sifat Pilihan”?

Jadikan semua sifat pilihan atau wajib serentak. 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 1 daripada 4.

Berapa lamakah pelajaran “Partial dan Required: Menukar Sifat Pilihan” 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. Partial dan Required: Menukar Sifat Pilihan
  2. Pick dan Omit: Memilih Sifat
  3. Record: Memetakan Kunci kepada Jenis Nilai
  4. Readonly, Exclude, Extract, NonNullable
← Kembali ke TypeScript Academy