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.
Kalau id string (cek dengan typeof id === "string"), kembalikan id apa adanya.
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:
formatId("abc") mengembalikan "abc".
formatId(42) mengembalikan "ID-42", lengkap dengan tanda minus.
Kodemu punya pengecekan typeof id.
TypeScript memeriksa kodemu dulu (mode strict, seperti tsc --noEmit) dan gak menemukan error. Error-nya muncul di console dengan format tsc.
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
id bisa teks atau angka, dan dua-duanya diperlakukan beda. Cek dulu jenisnya, baru pilih apa yang dikembalikan.
Pakai if (typeof id === "string") { return ...; } untuk teks, lalu satu return lagi di bawahnya untuk angka. Teks dikembalikan tanpa diubah, angka diberi awalan.
if (typeof id === "string") { return id; } return "ID-" + id;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...