Latihan 1 dari materi Character Encoding & Unicode di Web Fundamentals — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat dua function:
buildQueryString(params) — menerima object dan mengembalikan query string ter-encode (tanpa tanda ? di depan). Gunakan encodeURIComponent untuk setiap key dan value. Pisahkan pair dengan &.
countCharacters(str) — mengembalikan jumlah karakter yang terlihat (bukan code unit UTF-16). Gunakan spread [...str].length agar emoji (surrogate pair) dihitung satu karakter.
Contoh:
buildQueryString({ q: "hello world", tag: "café" }) → "q=hello%20world&tag=caf%C3%A9"countCharacters("😀Budi") → 5 (bukan 6)