Latihan 1 dari materi Type Assertions di TypeScript — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi fungsi parseJSON(json) supaya mengubah teks JSON jadi objek.
Di baris pertama, ganti tipe kembalian any jadi Record<string, unknown>: function parseJSON(json: string): Record<string, unknown> {. Dengan any, TypeScript menerima apa saja, jadi as yang keliru gak pernah ketahuan.
Di dalam fungsinya, urai teksnya dan tandai hasilnya dengan assertion: const data = JSON.parse(json) as Record<string, unknown>. Jangan as any: itu gak memberi tahu TypeScript apa-apa.
Kembalikan data.
Yang dicek:
parseJSON('{"nama":"Budi"}') mengembalikan objek {"nama":"Budi"}, bukan teksnya.
TypeScript memeriksa kodemu dulu (mode strict, seperti tsc --noEmit) dan gak menemukan error. Error-nya muncul di console dengan format tsc. Misalnya as number ditolak: error TS2322: Type 'number' is not assignable to type 'Record<string, unknown>'.
Baris uji const angka: number = parseJSON("{}") ditaruh sesudah kodemu, dan TypeScript harus menolaknya dengan error TS2322. Itu cuma terjadi kalau tipe kembaliannya sudah bukan any.
as gak mengubah datanya: objeknya tetap hasil JSON.parse.
Hint
JSON.parse mengubah teks JSON jadi objek, tapi TypeScript gak tahu bentuknya, jadi hasilnya any. as memberi tahu TypeScript type yang kamu harapkan, tanpa mengubah datanya.
Ganti : any di baris pertama jadi : Record<string, unknown>. Simpan hasil JSON.parse(json) ke variabel dengan as Record<string, unknown>, lalu kembalikan variabel itu.
function parseJSON(json: string): Record<string, unknown> { const data = JSON.parse(json) as Record<string, unknown>; return data; }
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...