JavaScript dijelaskan untuk pemula

JavaScript adalah bahasa yang membuat halaman web menjadi hidup. Saat Anda menekan "Masukkan ke keranjang" di Tokopedia dan angka di pojok atas bertambah tanpa halaman dimuat ulang, itu JavaScript. Saat siaran langsung di Vidio menampilkan jumlah penonton secara waktu nyata, itu juga JavaScript.

Panduan ini tidak menjanjikan Anda jadi ahli dalam satu sore. Tujuannya membantu Anda memahami JavaScript itu apa, masalah apa yang ia selesaikan, dan dari mana memulai tanpa tenggelam di lautan kerangka kerja.

Sekilas sejarah untuk konteks

JavaScript lahir pada 1995 di dalam Netscape Navigator. Brendan Eich merancangnya dalam sepuluh hari, yang menjelaskan beberapa kejanggalan bahasa ini. Selama bertahun-tahun JavaScript dipandang sebagai mainan: berguna untuk memvalidasi formulir dan tidak lebih.

Semua berubah pada 2008 dengan mesin V8 dari Google Chrome yang melipatgandakan kecepatan eksekusi sepuluh kali. Setelah itu datang Node.js, React, Vue, dan seluruh ekosistem modern. Saat ini JavaScript adalah bahasa dengan pengguna terbanyak di dunia menurut survei Stack Overflow.

Di mana JavaScript berjalan

JavaScript hidup di dua tempat. Di peramban (Chrome, Firefox, Safari, Edge) ia mengontrol apa yang Anda lihat: menganimasikan menu, memanggil API, memvalidasi formulir sebelum dikirim. Di server, berkat Node.js, ia melayani permintaan, bicara dengan basis data, dan menghasilkan halaman.

Mengetahui di mana kode Anda berjalan itu penting. Di peramban Anda punya akses ke DOM (representasi halaman) tetapi tidak ke disk. Di Node.js sebaliknya: bisa membaca file tetapi tidak memanipulasi elemen visual secara langsung. Batas ini sering membingungkan pemula.

Konsep yang sebaiknya dikuasai dahulu

Variabel dengan let dan const, bukan var. Tipe primitif (number, string, boolean, null, undefined) dan objek. Fungsi panah dan fungsi tradisional. Perulangan for...of untuk menelusuri array.

Yang paling membingungkan di awal adalah sifat asinkron. JavaScript tidak menunggu: jika Anda meminta data ke API, kode tetap berjalan dan jawaban datang kemudian. Untuk menangani ini kita pakai Promise dan sintaks async/await, jauh lebih mudah dibaca dibanding callback bersarang gaya lama.

TypeScript: kapan saatnya pindah

TypeScript adalah JavaScript dengan sistem tipe opsional. Ia menangkap error sebelum eksekusi dan sangat memperbaiki pelengkapan otomatis di VS Code. Kurva belajarnya ada, tetapi pada proyek ukuran menengah (lima ribu baris ke atas) keuntungannya nyata.

Untuk aplikasi pertama Anda, JavaScript murni sudah cukup. Begitu terasa bahwa Anda kehilangan waktu memburu bug tipe (angka yang datang sebagai string, field yang ternyata tidak ada), itulah saatnya bermigrasi. Migrasi bisa bertahap: TypeScript hidup berdampingan dengan file .js.

Kerangka kerja: rimba yang menakutkan pendatang baru

React, Vue, Svelte, Angular, Solid, Astro, Qwik. Daftarnya terus bertambah dan setiap komunitas punya penggemar lantang. Kenyataannya lebih kalem: untuk situs kecil Anda tidak butuh kerangka kerja apa pun, cukup HTML dan JavaScript. Untuk aplikasi dengan banyak layar yang berbagi data, React atau Vue adalah pilihan paling mudah dicari kerjanya di pasar tenaga kerja Indonesia.

Astro layak disebut tersendiri karena menghasilkan HTML statis secara bawaan dan hanya memuat JavaScript di tempat yang benar-benar perlu. Untuk blog, halaman pendaratan, dan toko kecil, Astro sering jadi pilihan lebih baik daripada React murni.

Alat terkait

Pertanyaan umum

Apakah JavaScript sama dengan Java?
Tidak, keduanya bahasa yang sangat berbeda. Namanya adalah strategi pemasaran tahun sembilan puluhan saat Java sedang naik daun. Java berjalan di mesin virtual dan banyak dipakai di perbankan dan Android. JavaScript berjalan di peramban dan di Node.js.
Bisakah saya belajar JavaScript tanpa tahu HTML dan CSS?
Secara teknis bisa, terutama jika rencananya pakai Node.js di sisi server. Tetapi jika tujuannya membangun antarmuka, lebih baik punya dasar HTML dan CSS dulu. Dua sampai tiga hari cukup untuk memulai.
Editor apa yang direkomendasikan?
Visual Studio Code, gratis dan multi-platform, punya dukungan terbaik untuk JavaScript dan TypeScript. Pasang ekstensi ESLint dan Prettier sejak hari pertama agar tidak ada perdebatan soal format kode.
Apakah JavaScript cocok untuk pemrosesan data intensif?
Untuk tugas berat seperti pelatihan model AI atau analisis ilmiah, Python tetap rujukan. JavaScript bersinar di antarmuka, API, dan waktu nyata. Di sisi Node.js ada pustaka seperti Danfo.js, tetapi ekosistemnya lebih terbatas.
Berapa lama untuk menjadi mandiri?
Dengan beberapa jam per hari dan proyek nyata, tingkat fungsional bisa dicapai dalam tiga sampai empat bulan. Penguasaan mendalam asinkron, alat build, dan kerangka kerja besar memakan waktu lebih lama, biasanya satu sampai dua tahun.