0Pricing
TypeScript Academy · Pelajaran

Tipe Intersection: A dan B

Gabungkan tipe dengan & untuk menyatukan propertinya.

Tipe Intersection: A dan B adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 irisan menggabungkan beberapa tipe menjadi satu. Nilai bertipe irisan harus memenuhi ALL tipe yang digabungkan secara bersamaan.

Sintaks Dasar Irisan

Gunakan operator `&` untuk membuat irisan. Hasilnya memiliki semua properti dari kedua tipe.
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };

Semua Properti Wajib

Irisan mengharuskan ALL properti dari semua tipe yang digabungkan. Tidak adanya satu properti saja merupakan kesalahan tipe.
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing y

Menggabungkan Tipe Objek

Irisan sering digunakan untuk menggabungkan dua tipe objek yang tidak saling mewarisi.
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;

Irisan vs Pewarisan

Perluasan antarmuka dan irisan menghasilkan hasil yang serupa untuk tipe objek, tetapi irisan dapat digunakan dengan alias tipe, termasuk gabungan dan tipe primitif.
// Interface extend:
interface C extends A, B {}

// Intersection type:
type D = A & B;
// Both give the same shape for simple objects

Irisan dengan Tipe yang Bertentangan

Jika dua tipe yang diiris memiliki properti yang sama dengan tipe yang bertentangan, hasilnya adalah `never` untuk properti tersebut.
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!

Irisan dalam Parameter Fungsi

Terima argumen yang harus memenuhi beberapa kontrak antarmuka menggunakan irisan.
function process(item: Serializable & Loggable): void {
  item.log();
  console.log(item.serialize());
}

Pola Pencampuran dengan Irisan

Irisan memungkinkan pola pencampuran—menggabungkan perilaku dari beberapa sumber.
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;

Irisan Primitif Menjadi Tipe Mustahil

Mengiris tipe primitif yang tidak mungkin saling tumpang tindih akan menghasilkan `never`.
type T = string & number; // never — a value can't be both

Perbedaan Utama antara Irisan dan Gabungan

Gabungan (`|`) berarti OR—nilai dapat berupa salah satu tipe. Irisan (`&`) berarti AND—nilai harus memenuhi semua tipe.

Menggunakan Irisan dengan Tipe Generik

Gabungkan tipe generik dengan properti tambahan menggunakan irisan untuk membuat tipe yang fleksibel dan mudah diperluas.
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };

Pemeriksaan Cepat

Menjadi apa `type T = string & number`?

Ringkasan

Tipe irisan (`&`) mengharuskan ALL properti dari semua tipe yang digabungkan. Gunakan irisan untuk menggabungkan bentuk objek, menerapkan pencampuran, dan menggabungkan tipe generik. Irisan primitif yang bertentangan akan menjadi tipe mustahil.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tipe Intersection: A dan B” gratis?

Ya — teks lengkap “Tipe Intersection: A dan B” 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 Intersection: A dan B”?

Gabungkan tipe dengan & untuk menyatukan propertinya. 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 4.

Berapa lama pelajaran “Tipe Intersection: A dan B” 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 Union: A atau B
  2. Tipe Intersection: A dan B
  3. Union Terbedakan untuk Pencocokan Pola yang Aman
  4. Pola Praktis dengan Union dan Intersection
← Kembali ke TypeScript Academy