Lompat ke konten utama

TypeScript Dasar

Pelajaran 8 dari 10

Union dan penyempitan · Pelajaran 8

Menyempitkan dengan in

Tujuan: Pengguna dapat membedakan dua bentuk objek dengan operator in.

±9 menitDiperiksa 2026-09-22

Operator in memeriksa apakah sebuah nama properti ada di dalam objek. Pada union dua bentuk objek, pemeriksaan ini menyempitkan tipenya ke bentuk yang memiliki properti tersebut.

type Motor = { cc: number };
type Mobil = { pintu: number; bagasi: boolean };

function jenis(k: Motor | Mobil): string {
  if ("pintu" in k) return `Mobil ${k.pintu} pintu`;
  return `Motor ${k.cc} cc`;
}

Nama properti yang diperiksa ditulis sebagai teks di antara tanda kutip. Di dalam blok if, properti pintu sudah boleh dibaca; di luar blok itu, yang tersisa hanya bentuk Motor.

Selesaikan latihannya dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Sumber

Materi kelas ini diadaptasi dari Exercism — jalur TypeScript (MIT). Rincian perubahan ada di halaman kelas.