Latihan 1 dari materi Debugging Checklist di Debugging — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal sudah punya debugValue(label, value) yang baru berisi return value;, dan enam pemanggilannya. Biarkan pemanggilannya dan baris return value;. Di atas return, tambahkan kode yang mencetak satu baris keterangan dengan console.log.
Cek berurutan:
value adalah null: cetak [label] NULL
value adalah undefined: cetak [label] UNDEFINED
value adalah array (Array.isArray): cetak [label] Array(N), dengan N panjang array-nya
value adalah object lain (typeof value === "object"): cetak [label] Object{N}, dengan N jumlah key dari Object.keys
- Selain itu: cetak
[label] type:X val:Y, dengan X hasil typeof value dan Y nilainya
label diganti teks label-nya, misalnya [user] NULL.
Yang dicek, satu per baris di console, urut:
[user] NULL
[config] UNDEFINED
[items] Array(3)
[data] Object{3}
[count] type:number val:42
[name] type:string val:Budi
Kodenya harus memakai Array.isArray(, Object.keys(, dan typeof. Ada juga cek bahwa debugValue mengembalikan nilainya apa adanya: object yang sama persis untuk object, dan 7 untuk 7.