Lompat ke konten utama

TypeScript Dasar

Pelajaran 7 dari 10

Union dan penyempitan · Pelajaran 7

Menyempitkan dengan typeof

Tujuan: Pengguna dapat memakai typeof agar TypeScript tahu tipe pasti sebuah nilai di dalam cabang.

±9 menitDiperiksa 2026-09-22

Pada nilai bertipe union, TypeScript belum mengizinkan operasi yang hanya ada di salah satu anggotanya. Pemeriksaan typeof di dalam if membuat kompiler menyempitkan tipenya di dalam blok tersebut.

function panjangNilai(nilai: string | number): number {
  if (typeof nilai === "string") {
    return nilai.length;   // di sini nilai pasti string
  }
  return nilai;            // di sini nilai pasti number
}

Setelah blok if yang memeriksa string, TypeScript tahu satu-satunya kemungkinan yang tersisa adalah number, sehingga nilai boleh dikembalikan langsung sebagai angka.

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.