Tahap 2
JavaScript: Bahasanya
Bahasanya sendiri — nilai, function, object, dan aturan yang selalu menjegal orang yang melewatinya.
Yang akan kamu pelajari
- Memprediksi hasil evaluasi ekspresi apa pun, termasuk yang aneh-aneh
- Menjelaskan bedanya value dan reference, dan kenapa itu jadi sumber bug
- Menulis function yang memakai closure secara sengaja, bukan kebetulan
- Menjelaskan `this` menunjuk ke apa pada setiap pemanggilan
- Memecah kode jadi module dengan import dan export
Sebelum mulai
Pelajaran
- 01
Apa itu JavaScript (dan apa yang bukan)
Bahasa, standar, engine, dan runtime itu empat hal berbeda. Banyak kebingungan mulai dari sini.
Baca 20 menit - 02
Value dan type
Delapan type, cuma delapan. Kuasai itu dan separuh keanehan JavaScript hilang.
Baca 25 menit - 03
Variable, scope, dan hoisting
Di mana sebuah nama terlihat, kapan ia ada, dan kenapa `var` digantikan `let` dan `const`.
Baca 25 menit - 04
Operator dan type coercion
Kenapa `"5" + 1` jadi "51" tapi `"5" - 1` jadi 4, dan aturan yang membuatnya bisa diprediksi.
Baca 22 menit - 05
Function: alat utamanya
Declaration, expression, arrow, parameter, return — dan function sebagai nilai yang bisa dikirim ke mana-mana.
Baca 30 menit - 06
Object dan array
Cara membentuk data, plus method array yang akan kamu pakai tiap hari.
Baca 35 menit - 07
Reference, copy, dan mutation
Bug yang paling sering melahap developer junior: dua nama menunjuk object yang sama.
Baca 25 menit - 08
Closure
Function mengingat tempat ia dilahirkan. Satu ide ini menggerakkan hooks, callback, dan private state.
Baca 30 menit - 09
`this`, context, dan kenapa arrow function berbeda
`this` ditentukan oleh cara function dipanggil, bukan tempat ia ditulis. Empat aturan, tidak ada misteri.
Baca 28 menit - 10
Prototype dan class
Di dalamnya JavaScript tidak punya class — yang ada prototype chain. Class hanya cara penulisan yang lebih enak.
Baca 28 menit - 11
Module: import dan export
Memecah kode ke banyak file, dan perbedaan ESM vs CommonJS yang pasti kamu temui di proyek nyata.
Baca 25 menit - 12
Error dan cara menanganinya
throw, try/catch, dan bedanya error yang kamu tangani dengan error yang tidak boleh kamu telan.
Baca 25 menit