Latihan 1 dari materi Proxy & Reflect di JavaScript — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi buatValidator(obj). Fungsinya mengembalikan Proxy dari obj yang cuma menerima angka lebih dari 0. Di dalam trap set yang sudah ada di editor:
Kalau value bukan angka (typeof value !== 'number') atau value <= 0, lempar error dengan throw new Error('...'). Pesannya bebas.
Kalau lolos, simpan nilainya ke object asli: target[prop] = value.
Lalu return true, tanda penyimpanannya berhasil.
Yang dicek, dengan const v = buatValidator({}):
sesudah v.harga = 10, v.harga bernilai 10
v.harga = -1 melempar Error, begitu juga v.nama = "x"
Reflect.set(v, "b", 7) mengembalikan true
Hint
Trap set menangkap tiap penulisan properti. Di situ kamu memutuskan: tolak, atau simpan.
Tolak dengan throw new Error(...) kalau typeof value bukan 'number' atau value <= 0. Kalau lolos, simpan ke target[prop] lalu return true.
if (typeof value !== 'number' || value <= 0) { throw new Error('Hanya angka positif') } target[prop] = value; return true
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...