Ini buku latihan pelengkap dari catatan Eloquent JavaScript. Bukunya buat belajar konsep; buku ini buat melatih konsep itu sampai nempel. Cara belajar yang paling ampuh: coba kerjakan sendiri dulu, baru lihat jawaban. Makanya soal dan jawaban sengaja dipisah.

Cara Memakainya

  1. Buka file Latihan Bab NN. Baca soalnya, lihat kode awalnya.
  2. Kerjakan sendiri dulu. Di web, ketik dan jalankan langsung di playground. Di kertas (atau kalau mau), ketik di editor/DevTools browser sendiri.
  3. Mentok? Baca Petunjuk di soal.
  4. Selesai atau nyerah? Buka file Kunci Jawaban Bab NN buat mencocokkan, lengkap dengan penjelasan kenapa jawabannya begitu.

Jangan buru-buru buka kunci jawaban. Rasa “mentok lalu ketemu” itu justru saat ilmunya masuk.

Struktur

Tiap bab yang punya latihan dibagi dua file:

  • NN Latihan <Judul> — kumpulan soal (dinomori NN.1, NN.2, …), tiap soal berisi tugas, konsep + tautan ke bab bukunya, kode awal, dan petunjuk.
  • NN Kunci Jawaban <Judul> — solusi tiap soal (kode) plus penjelasan.

Soal merujuk ke jawabannya (Kunci Jawaban NN.x) dan sebaliknya. Konsepnya juga menaut ke catatan bukunya, misalnya 03 Fungsi atau 09 Regular Expression.

Interaktif di Web, Statis di Cetak

Isi buku ini teks + blok kode biasa, jadi aman dicetak fisik tanpa rusak. Di web, blok kode bisa dijadikan playground yang bisa diketik dan dijalankan lewat file playground.html (ada di folder ini). Caranya, sematkan playground per soal dengan iframe:

<iframe src="/playground.html#code=<kode-awal-ter-encode>"
        sandbox="allow-scripts" loading="lazy"
        style="width:100%;height:22rem;border:1px solid #8886;border-radius:8px;">
</iframe>

Kode awalnya di-encode dulu (jalankan encodeURIComponent(\…`)` di Console browser). Waktu dicetak, iframe otomatis hilang dan yang tersisa cuma blok kode statis, jadi versi kertas tetap utuh.

Catatan buat Latihan Tertentu

Sebagian soal butuh data atau fungsi pembantu (misalnya SCRIPTS di bab 5, JOURNAL di bab 4, textFile tiruan di bab 11). Buat menjalankannya di playground, kunci jawaban menyertakan data contoh kecil secukupnya biar bisa dicoba. Data aslinya yang besar ada di sandbox resmi bukunya.

Daftar Latihan

Bagian 1: Bahasa

Bagian 2: Browser

Bagian 3: Node

(Bab 00, 01, dan 13 gak punya latihan.)