← Semua track

JavaScript

Inti segalanya: dari variabel sampai async, testing, dan API nyata.

±120 jam · 0/69 selesai (0%)

💡 Saran (bukan syarat): sebaiknya selesaikan dulu HTML, CSS. Tapi semua materi tetap terbuka — kamu yang menentukan.

Modul 1: Dasar JavaScript

Fondasi berpikir seperti programmer: nilai, keputusan, dan pengulangan.

8 bab dalam modul ini
  1. 1.1Variabel: let, const (dan kenapa var ditinggalkan)
  2. 1.2Tipe data primitif: string, number, boolean, null, undefined
  3. 1.3Operator aritmetika, perbandingan (== vs ===), logika
  4. 1.4Template literal & manipulasi string dasar
  5. 1.5Kondisi: if/else, ternary, switch
  6. 1.6Loop: for, while, for...of
  7. 1.7Truthy/falsy — sumber bug klasik
  8. 1.8Type coercion & konversi eksplisit

Modul 2: Fungsi

Unit terkecil kode yang bisa dipakai ulang — dan konsep scope yang menentukan segalanya.

8 bab dalam modul ini
  1. 2.1Deklarasi fungsi, parameter, return
  2. 2.2Arrow function & perbedaannya
  3. 2.3Default parameter & rest parameter
  4. 2.4Scope: global, function, block
  5. 2.5Closure — dijelaskan tanpa mistis, dengan kasus nyata
  6. 2.6Callback: fungsi sebagai argumen
  7. 2.7Pure function vs side effect
  8. 2.8Hoisting & temporal dead zone

Modul 3: Array & Object

Struktur data yang kamu pakai setiap hari kerja — kuasai method-methodnya sampai refleks.

9 bab dalam modul ini
  1. 3.1Array: push/pop, slice/splice, indexOf/includes
  2. 3.2map, filter, reduce — trio yang muncul di setiap interview
  3. 3.3find, some, every, sort (dan jebakan sort default)
  4. 3.4Object: property, method, this dasar
  5. 3.5Destructuring array & object
  6. 3.6Spread & rest untuk copy dan merge
  7. 3.7Reference vs value — kenapa objectmu 'berubah sendiri'
  8. 3.8JSON: parse & stringify
  9. 3.9Map & Set — kapan lebih tepat dari object/array

Modul 4: DOM: JavaScript Bertemu HTML

Membuat halaman hidup: seleksi elemen, event, dan manipulasi.

8 bab dalam modul ini
  1. 4.1document.querySelector & querySelectorAll
  2. 4.2Mengubah teks, atribut, class (classList), dan style
  3. 4.3createElement, append, remove — membangun UI dari data
  4. 4.4addEventListener: click, input, submit
  5. 4.5Event object, preventDefault, dan event delegation
  6. 4.6Form handling: membaca nilai & validasi custom
  7. 4.7dataset (data-* attribute)
  8. 4.8Merender list dari array — pola dasar semua framework

Modul 5: JavaScript Modern (ES6+)

Sintaks yang dipakai codebase modern — wajib lancar sebelum React.

7 bab dalam modul ini
  1. 5.1Module: import/export, default vs named
  2. 5.2Optional chaining (?.) & nullish coalescing (??)
  3. 5.3Short-circuit && || untuk conditional
  4. 5.4Enhanced object literal & computed property
  5. 5.5Array/object method modern: at, flat, structuredClone
  6. 5.6Iterator & generator (pengenalan)
  7. 5.7Tooling ringkas: npm, bundler, dan kenapa mereka ada

Modul 6: Asynchronous & Fetch API

Materi yang paling sering keluar di interview junior — dari callback hell sampai async/await.

9 bab dalam modul ini
  1. 6.1Event loop: kenapa JS tidak 'menunggu'
  2. 6.2setTimeout/setInterval & callback pattern
  3. 6.3Promise: then, catch, finally, chaining
  4. 6.4async/await & try/catch
  5. 6.5fetch: GET, POST, header, body JSON
  6. 6.6Menangani response: status code, ok, json()
  7. 6.7Promise.all / allSettled / race untuk request paralel
  8. 6.8Loading & error state — pola UI yang benar
  9. 6.9Konsumsi REST API publik nyata

Modul 7: Error Handling & Debugging

Skill kerja yang jarang diajarkan: membaca error, melacak bug, memakai DevTools.

7 bab dalam modul ini
  1. 7.1Jenis error: SyntaxError, TypeError, ReferenceError
  2. 7.2Membaca stack trace dari bawah ke atas
  3. 7.3try/catch/finally & throw — kapan melempar error sendiri
  4. 7.4console di luar log: table, group, time, trace
  5. 7.5Breakpoint & step debugging di DevTools
  6. 7.6Network tab: memeriksa request yang gagal
  7. 7.7Strategi debugging sistematis (reproduce → isolate → fix)

Modul 8: OOP & Functional Programming Dasar

Dua paradigma yang membentuk kode di dunia nyata — cukup untuk membaca codebase apa pun.

7 bab dalam modul ini
  1. 8.1Class: constructor, method, field
  2. 8.2Inheritance & extends — plus kapan menghindarinya
  3. 8.3this: aturan yang sebenarnya, bind/call/apply
  4. 8.4Prototype: apa yang terjadi di balik class
  5. 8.5Getter, setter, static
  6. 8.6Immutability & kenapa framework menyukainya
  7. 8.7Komposisi fungsi & higher-order function

Modul 9: Browser API

Kemampuan bawaan browser yang dipakai fitur nyata: penyimpanan, URL, dan observer.

7 bab dalam modul ini
  1. 9.1localStorage & sessionStorage (dan batasnya)
  2. 9.2URL & URLSearchParams — parsing query string
  3. 9.3History API dasar
  4. 9.4Timer & requestAnimationFrame
  5. 9.5IntersectionObserver: lazy load & infinite scroll
  6. 9.6Clipboard, geolocation (pengenalan)
  7. 9.7FormData untuk upload

Modul 10: Testing Dasar

Pembeda di interview junior: bisa menulis unit test dengan Vitest.

7 bab dalam modul ini
  1. 10.1Kenapa test ada: regresi & refactoring dengan percaya diri
  2. 10.2Anatomi test: describe, it/test, expect
  3. 10.3Matcher penting: toBe, toEqual, toThrow, toContain
  4. 10.4Arrange–Act–Assert
  5. 10.5Menguji edge case: input kosong, null, angka negatif
  6. 10.6Mock dasar: vi.fn dan kapan mock berlebihan
  7. 10.7TDD ringan: test dulu untuk fungsi murni