Episode ini membuka seri dengan sejarah JavaScript, hubungan JavaScript dengan standar ECMAScript, dan peta ekosistem modern seperti Node.js, npm, bundler, dan framework. Kalian juga menjalankan program pertama dan memahami mengapa JavaScript berhasil berkuasa di web.

Environment kalian sudah siap di episode 0. Sekarang saatnya menjawab pertanyaan paling mendasar: apa itu JavaScript sebenarnya, dan mengapa dia mendominasi web? Episode 1 ini adalah landasan konseptual — tanpa memahami posisi JavaScript dalam sejarah dan ekosistem, banyak istilah di episode selanjutnya akan terasa menggantung.
Kalian akan belajar asal-usul bahasa ini, perbedaan penting antara JavaScript dan ECMAScript, serta peta ekosistem modern yang membuat JavaScript bisa berjalan di browser, server, aplikasi mobile, dan bahkan desktop. Di akhir episode, kalian akan menulis program JavaScript pertama yang berjalan di dua tempat sekaligus.
Episode ini lebih banyak bercerita daripada mengetik, tapi tetap ada kode yang wajib kalian jalankan. Ini fondasi mental yang akan membuat empat fase series ini terasa koheren.
JavaScript adalah bahasa pemrograman interpreted yang berjalan langsung tanpa proses kompilasi terpisah. Bahasa ini memiliki tiga karakteristik yang membuatnya unik:
JavaScript bukan bahasa kompilasi seperti C atau Go. Kode yang kalian tulis langsung dieksekusi oleh engine — di Chrome bernama V8, di Firefox bernama SpiderMonkey, dan di Safari bernama JavaScriptCore. Setiap engine punya tugas menafsirkan dan menjalankan kode secepat mungkin.
const pesan = "Halo, dunia!";
console.log(pesan);Jalankan kode di atas lewat Console DevTools atau node index.js. const pesan = "Halo, dunia!" mendeklarasikan konstanta, dan console.log menampilkannya. Terlihat sederhana, tapi di baliknya engine bekerja keras menafsirkan kode menjadi instruksi mesin.
JavaScript diciptakan oleh Brendan Eich pada tahun 1995 di Netscape, dan — ini fakta yang terkenal — ditulis dalam waktu sekitar sepuluh hari. Awalnya dinamai Mocha, lalu LiveScript, dan akhirnya JavaScript sebagai strategi pemasaran untuk menumpang popularitas Java saat itu.
Nama yang menyesatkan itu tidak berubah sampai sekarang, padahal JavaScript dan Java tidak punya hubungan teknis. Pada tahun 1996, Netscape menyerahkan bahasa ini ke ECMA International untuk distandarkan. Standar inilah yang disebut ECMAScript — disingkat ES — dan setiap versi dirilis dengan nomor tahun atau edisi.
Dari tahun 1997 sampai 2015, ECMAScript berkembang sangat lambat. Semua berubah pada tahun 2015 dengan rilis ES6, yang secara resmi bernama ES2015. Lompatan ini membawa sintaks modern yang akan kalian pakai sepanjang series ini: let dan const, arrow function, template literal, destructuring, spread, dan modul.
const daftar = [1, 2, 3];
const duaKali = daftar.map((angka) => angka * 2);
console.log(duaKali);Kode di atas memakai arrow function (angka) => angka * 2 dan method map — dua fitur yang tidak ada sebelum ES6. Sejak saat itu, ECMAScript merilis fitur baru setiap tahun, sehingga istilah "JavaScript modern" mengacu pada sintaks yang ditetapkan setelah tahun 2015.
Tiga istilah ini sering tertukar, padahal bedanya jelas:
Dengan kata lain, setiap JavaScript adalah ECMAScript, tapi tidak setiap ECMAScript adalah JavaScript. ECMAScript tidak tahu apa itu document atau window — itu milik lingkungan browser. Ketika episode 13 membahas DOM, kalian akan melihat perbedaan ini bekerja.
Pada tahun 2009, Ryan Dahl mengambil engine V8 dan memisahkannya dari browser, melahirkan Node.js. Inilah momen JavaScript tidak lagi terkunci di browser: kini dia bisa membaca file, menangani jaringan, dan menjadi basis server. Node.js membawa npm — registry package JavaScript terbesar di dunia, dengan ratusan ribu package.
Ekosistem modern terdiri dari beberapa lapisan yang akan kalian temui bertahap:
Kalian tidak perlu menguasai semuanya hari ini. Episode 20 dan 21 akan membahas tooling dan bundler secara khusus. Yang perlu kalian bawa sekarang adalah peta mental: JavaScript adalah bahasa, dan di sekitarnya ada ekosistem tool yang membuat bahasa ini produktif di skala besar.
Salah satu kekuatan JavaScript adalah kode yang sama bisa dijalankan di browser dan di server. Contoh berikut menulis file dan menjalankannya di Node:
cat > halo.js <<'EOF'
const nama = "JavaScript";
console.log(`Selamat belajar ${nama}!`);
EOF
node halo.jsPerhatikan template literal `Selamat belajar ${nama}!` — fitur ES6 yang menyisipkan nilai variabel langsung ke dalam string. node halo.js menjalankan file yang sama yang bisa kalian buka di browser lewat tag script. Satu bahasa, banyak lingkungan.
Info
Saat kalian melihat kode JavaScript yang berjalan, pertanyaan pertama yang harus ditanyakan: di lingkungan mana dia berjalan? Browser memberi document dan window; Node.js memberi process dan modul file. Keduanya adalah JavaScript yang sama dengan fasilitas berbeda.
Episode 1 menempatkan JavaScript dalam konteks: lahir pada 1995 dalam sepuluh hari, distandarkan sebagai ECMAScript, melompat besar pada ES6, dan tumbuh menjadi bahasa yang berjalan hampir di mana saja lewat Node.js dan ekosistem tooling yang masif.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas variabel, tipe data, dan operator — cara mendeklarasikan nilai dengan let dan const, mengenal tujuh tipe data primitif, dan menggabungkan nilai dengan operator aritmetika, perbandingan, serta logika. Ini adalah bahan bangunan paling dasar dari seluruh kode yang akan kalian tulis.