Dokumentasi JavaScript
Referensi JavaScript yang ringkas dan penuh contoh. Baca konsepnya, lihat kodenya, lalu praktikkan di perjalanan Coddy.
Mulai kursusMemulai
- Apa Itu JavaScriptApa sebenarnya JavaScript, di mana ia berjalan, untuk apa dipakai, dan bedanya dengan Java dan TypeScript: pengantar yang membumi untuk pemula.
- Menjalankan JSCara-cara praktis menjalankan JavaScript di 2026: console browser, tag script di HTML, Node.js dari terminal, dan kapan memakai masing-masing.
- Sintaks & Titik KomaCara kerja sintaks JavaScript, yaitu pernyataan, blok, dan ekspresi, serta cerita sebenarnya soal titik koma, automatic semicolon insertion, dan kapan ia menjebakmu.
- Strict ModeApa yang diubah strict mode di JavaScript, cara menyalakannya, dan kenapa kode modern (module dan class) mendapatkannya secara otomatis.
- KomentarCara kerja komentar di JavaScript: `//` untuk satu baris, `/* */` untuk blok, dan kebiasaan yang membuat komentar benar-benar berguna, bukan sekadar gangguan.
Variabel & Tipe
- let, const, varTiga cara mendeklarasikan variabel di JavaScript, dan mengapa kode modern memakai `const` sebagai default, `let` saat terpaksa, dan `var` hampir tidak pernah.
- Tipe PrimitifTujuh tipe primitif di JavaScript, yaitu string, number, bigint, boolean, null, undefined, dan symbol, serta bedanya dengan object.
- String & TemplateCara kerja string di JavaScript: tanda kutip, backtick, interpolasi, teks multi-baris, dan method yang benar-benar akan kamu pakai.
- Number & BigIntCara kerja tipe Number JavaScript yang sebenarnya: presisi floating-point, MAX_SAFE_INTEGER, dan kapan sebaiknya beralih ke BigInt.
- null vs undefinedApa sebenarnya perbedaan null dan undefined di JavaScript, cara mengecek keduanya, dan mana yang sebaiknya kamu pakai di kodemu sendiri.
- Type CoercionBagaimana JavaScript mengonversi nilai antartipe: aturan implisit yang sering menjebak, konversi eksplisit yang sebaiknya kamu utamakan, dan kapan masing-masing terjadi.
- Operator KesamaanCara kerja kesamaan di JavaScript: strict vs loose, keanehan ==, perilaku NaN dan objek, serta kapan sebaiknya memakai Object.is.
Alur Kontrol
- OperatorOperator yang disediakan JavaScript untuk berhitung, membandingkan nilai, menggabungkan boolean, dan assignment, lengkap dengan keanehan yang benar-benar merepotkan dalam praktik.
- if / elseCara kerja if/else di JavaScript: kondisi, rangkaian else if, jebakan truthy dan falsy, dan kapan sebaiknya memakai operator ternary.
- SwitchCara kerja pernyataan switch di JavaScript: case, break, default, fallthrough, dan kapan switch lebih baik daripada rangkaian if/else.
- For LoopCara kerja loop `for` klasik di JavaScript: header tiga bagian, perulangan pada array, break dan continue, loop bersarang, dan jebakan umum.
- While LoopCara kerja perulangan `while` dan `do...while` di JavaScript: kapan memakainya alih-alih `for`, dan cara menghindari infinite loop.
- for...of & for...inPerbedaan sebenarnya antara for...of dan for...in di JavaScript: nilai vs key, array vs objek, dan kapan memakai masing-masing.
- Truthy & FalsyApa yang dianggap truthy dan falsy di JavaScript, daftar lengkap nilai falsy, dan bagaimana konversi ke boolean berlangsung di kode nyata.
Iterasi
- Iterator & GeneratorCara kerja iterator protocol JavaScript, cara membuat objekmu sendiri iterable, dan bagaimana generator function membuat semuanya jadi mudah.
- SymbolApa itu symbol di JavaScript, kenapa symbol ada, dan bagaimana well-known symbol seperti Symbol.iterator membuat object buatanmu terhubung ke fitur bahasa.
Fungsi
- Deklarasi FungsiCara mendeklarasikan fungsi di JavaScript: kata kunci function, parameter, nilai kembalian, hoisting, dan kapan memakai deklarasi atau ekspresi.
- Arrow FunctionCara kerja arrow function di JavaScript: sintaks `=>`, return implisit, cara arrow function menangani `this`, dan kapan sebaiknya memakainya daripada `function`.
- Parameter & DefaultCara kerja parameter di JavaScript: nilai default, pemicunya yaitu undefined, urutan evaluasi, dan perbedaan antara parameter dan argumen.
- Rest & SpreadCara kerja operator ... di JavaScript: mengumpulkan argumen dengan rest parameter, membentangkan array dan object dengan spread, dan kapan memakai masing-masing.
- ClosureClosure adalah fungsi yang mengingat variabel di sekitarnya. Berikut cara kerja closure di JavaScript, dengan contoh yang bisa dijalankan dan kasus penggunaan nyata.
- Kata Kunci thisCara kerja `this` yang sebenarnya di JavaScript: empat aturan binding, kenapa arrow function berbeda, dan cara menghindari jebakan klasik 'this is undefined'.
- Higher-Order FunctionHigher-order function di JavaScript: memberikan fungsi sebagai argumen, mengembalikan fungsi dari fungsi lain, dan pola map/filter/reduce yang akan kamu pakai setiap hari.
Objek & Array
- ObjectCara kerja object di JavaScript yang sebenarnya: membuatnya, membaca dan menulis property, menambahkan method, dan pola yang menjaga kode object tetap mudah dibaca.
- ArrayCara kerja array di JavaScript: membuatnya, index, length, push/pop, slice vs splice, dan cara melakukan perulangan yang paling mudah dibaca.
- DestructuringCara kerja destructuring di JavaScript: mengambil nilai dari objek dan array, mengganti nama, nilai default, pola bersarang, dan parameter fungsi.
- Object SpreadCara kerja operator spread pada object di JavaScript: clone, merge, override property, dan jebakan shallow copy yang sering membuat orang tersandung.
- Method ArrayMethod array yang menggantikan sebagian besar for loop kamu, yaitu map, filter, reduce, find, some, every, serta mana yang mengubah array asli dan mana yang mengembalikan array baru.
- Map & SetCara kerja Map dan Set di JavaScript, perbedaannya dengan objek dan array biasa, dan kapan memakainya benar-benar menguntungkan.
- JSONCara mengubah objek JavaScript menjadi JSON dan sebaliknya: JSON.stringify, JSON.parse, hook replacer dan reviver, serta nilai yang tidak selamat dalam perjalanan bolak-balik.
- Optional ChainingCara operator `?.` memungkinkanmu menjangkau object bersarang, array, dan method tanpa error saat bertemu null atau undefined.
- Nullish CoalescingBagaimana operator `??` memilih nilai default hanya saat sebuah nilai bernilai `null` atau `undefined`, dan mengapa itu lebih baik daripada `||` untuk kebanyakan default di dunia nyata.
Class & Prototype
- ClassCara kerja class JavaScript yang sebenarnya: constructor, method, field instance, getter dan setter, serta model mental di balik kata kunci `class`.
- InheritanceCara kerja inheritance (pewarisan) di class JavaScript: extends, super, override method, dan kapan inheritance bukan alat yang tepat.
- Static MemberCara kerja static method dan static property di class JavaScript: kapan memakainya, bagaimana perilaku `this`, dan pola factory yang dimungkinkannya.
- Private FieldCara awalan `#` membuat field dan method class benar-benar private di JavaScript: sintaks, aturan, dan kenapa konvensi garis bawah saja tidak cukup.
- PrototypeApa sebenarnya prototype di JavaScript, bagaimana prototype chain mencari property, dan bagaimana sintaks `class` dipetakan ke mekanisme dasar yang sama.
JavaScript Async
- Event LoopModel mental di balik JavaScript async: call stack, task queue, microtask queue, dan bagaimana event loop menyatukan semuanya.
- CallbackCara kerja callback di JavaScript: memberikan fungsi sebagai argumen, pola error-first, dan mengapa callback bersarang mendorong komunitas beralih ke promise.
- PromiseCara kerja Promise di JavaScript: tiga state-nya, chaining dengan then dan catch, menggabungkan dengan Promise.all, dan membuat sendiri dengan new Promise.
- async/awaitCara kerja async/await yang sebenarnya di JavaScript: fungsi async, menunggu promise, menangani error dengan try/catch, dan menjalankan tugas secara paralel.
- Fetch APICara memakai Fetch API di JavaScript: request GET dan POST, parsing JSON, menangani error dengan benar, dan membatalkan request yang lambat.
- Error AsyncBagaimana error sebenarnya mengalir di JavaScript async: try/catch dengan async/await, .catch pada promise, dan jebakan yang diam-diam menelan kegagalan.
Modul & Tooling
- ES ModulesCara kerja ES modules di JavaScript: named export dan default export, sintaks import, import() dinamis, serta aturan yang membedakan module dari script biasa.
- CommonJS vs ESMDua sistem module bawaan JavaScript, mengapa keduanya ada, dan cara memilih antara require dan import di proyek Node.
- Dasar npmCara kerja npm yang sebenarnya: menginstal package, init, dev dependency, update, dan model mental di balik node_modules serta lockfile.
- package.jsonApa saja isi package.json: field yang penting, cara kerja scripts, dan bagaimana rentang semver menentukan versi yang di-install npm.
- Runtime NodeApa itu runtime Node.js, perbedaannya dengan browser, dan API inti seperti global, module, process, dan fs yang memungkinkan JavaScript di sisi server.
Error & Debugging
- try/catchCara kerja try/catch/finally di JavaScript: menangkap error, object error, melempar ulang, dan kapan try/catch bukan alat yang tepat.
- Jenis ErrorJenis error bawaan di JavaScript: arti masing-masing, kapan kamu akan melihatnya, dan cara membaca pesannya tanpa menebak-nebak.
- Console & DevToolsMethod console dan fitur DevTools yang membuat debug JavaScript lebih cepat daripada menebar console.log di mana-mana.
Bekerja dengan Data Nyata
- RegexCara kerja regular expression di JavaScript: membuat pola, method inti (test, match, replace), flag, dan capture group dengan contoh nyata.
- Date & WaktuCara kerja objek Date JavaScript yang sebenarnya: membuat tanggal, memformatnya, melakukan aritmetika, menangani zona waktu, dan keanehan yang sering menjebak.
- URL & Query StringCara mem-parse, menyusun, dan mengubah URL di JavaScript dengan API `URL` dan `URLSearchParams`, tanpa regex dan tanpa bug kasus tepi.