Latihan 1: Union & Literal Types — TypeScript

Latihan 1 dari materi Union & Literal Types di TypeScript — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi fungsi formatId(id). Parameter id bertipe string | number, jadi isinya bisa teks atau angka.

  1. Kalau id string (cek dengan typeof id === "string"), kembalikan id apa adanya.
  2. Kalau id number, kembalikan teks "ID-" disambung angkanya.

Biarkan baris function formatId(id: string | number): string dari kode awal apa adanya: union-nya ikut diperiksa.

Yang dicek:

  1. formatId("abc") mengembalikan "abc".
  2. formatId(42) mengembalikan "ID-42", lengkap dengan tanda minus.
  3. Kodemu punya pengecekan typeof id.
  4. TypeScript memeriksa kodemu dulu (mode strict, seperti tsc --noEmit) dan gak menemukan error. Error-nya muncul di console dengan format tsc.
  5. Dua baris uji ini ditaruh sesudah kodemu:
    • const teks: string = formatId("abc") + formatId(42) harus diterima TypeScript: teks dan angka sama-sama boleh masuk, dan hasilnya teks.
    • formatId(true) harus ditolak dengan error TS2345: boolean gak termasuk string | number.

Hint