Apa itu JavaScript?

Sejarah singkat JavaScript, tempat ia berjalan di browser dan Node.js, serta posisinya di dunia web.

Daftar isi

JavaScript adalah bahasa pemrograman yang awalnya dibuat untuk menghidupkan halaman web, dan kini berjalan di browser, di server, serta di berbagai perkakas pengembangan. Topik ini menelusuri sejarah singkat JavaScript, meluruskan hubungan namanya dengan Java, lalu memetakan tempat berjalannya saat ini. Setelah membacanya, asal nama JavaScript, alasan kehadirannya di hampir semua perangkat, dan peran Node.js dapat dijelaskan secara runtut.

Sejarah singkat JavaScript#

JavaScript lahir pada tahun 1995 di Netscape, perusahaan yang saat itu membuat browser Netscape Navigator. Brendan Eich, pemrogram di perusahaan tersebut, menyusun draf pertama bahasanya dalam waktu sekitar sepuluh hari. Bahasa ini melewati tiga nama dalam waktu singkat, yaitu Mocha, LiveScript, dan akhirnya JavaScript pada akhir 1995. Perubahan nama terakhir bersifat pemasaran, karena Java sedang naik daun dan Netscape ingin menumpang popularitasnya. Meski namanya mirip, bahasa ini bukan turunan Java dan dirancang dengan tujuan yang berbeda.

Agar bahasanya tidak dikendalikan satu perusahaan saja, Netscape menyerahkan spesifikasinya ke Ecma International, organisasi yang memproses standar industri. Hasilnya adalah standar ECMA-262 yang mendefinisikan bahasa bernama ECMAScript, pertama kali terbit pada 1997. Sejak itu ECMAScript menjadi nama spesifikasinya, sedangkan JavaScript tetap menjadi nama bahasa yang dipakai pengembang. Pembaruan besar datang pada 2015 melalui edisi ES6 atau ES2015 yang menambahkan const dan let, kelas, promise, serta template literal. Setelah 2015, edisi baru terbit setiap tahun sehingga fitur bahasanya berkembang bertahap.

Perjalanan tersebut dapat diringkas dalam satu garis waktu berikut.

1995JavaScript lahirdraf pertama 10 hari2009Node.jsJavaScript di server2015ES6 / ES2015pembaruan besar bahasa2026ES2026edisi tahunan terkini
Garis waktu JavaScript dari kelahirannya pada 1995 sampai edisi ES2026

JavaScript dan Java: dua bahasa yang berbeda#

Kemiripan nama JavaScript dan Java sering menimbulkan dugaan bahwa keduanya berkerabat dekat, padahal hubungan itu berhenti pada nama. Nama JavaScript dipakai sebagai bagian kesepakatan pemasaran antara Netscape dan Sun Microsystems, pemilik Java pada saat itu. Dari sisi desain, keduanya bahasa yang berbeda dengan perancang, tujuan, dan model pengetikan yang tidak sama. Persamaannya hanya sebatas bentuk sintaks yang mengikuti keluarga bahasa C, seperti kurung kurawal dan tanda titik koma di akhir perintah.

Perbedaan yang paling terasa bagi pemula dirangkum pada tabel berikut.

AspekJavaScriptJava
Tahun muncul19951995
Perancang utamaBrendan Eich, NetscapeJames Gosling, Sun Microsystems
Pengetikandinamis, diperiksa saat berjalanstatis, diperiksa sebelum berjalan
Tempat berjalan utamabrowser dan Node.jsmesin virtual Java
Deklarasi variabellet umur = 25int umur = 25

Java menuntut tipe data dinyatakan sejak awal, sedangkan JavaScript menetapkan tipe dari isi nilainya saat program berjalan. Satu variabel JavaScript dapat diisi string lalu diisi angka tanpa keluhan, pola yang ditolak Java sampai kodenya diubah. Bentuk programnya pun berbeda. Program Java terkecil tetap membutuhkan kelas dan metode main, sedangkan program JavaScript dapat berupa satu baris perintah yang langsung dijalankan.

Browser: tempat berjalan yang utama#

Browser adalah tempat berjalan JavaScript yang paling umum sekaligus alasan bahasa ini diciptakan. Setiap browser modern membawa engine, yakni program yang membaca dan mengeksekusi kode JavaScript. Chrome dan Edge memakai V8, Firefox memakai SpiderMonkey, sedangkan Safari memakai JavaScriptCore. Meski pembuatnya berbeda, semua engine mengikuti spesifikasi ECMAScript sehingga kode yang sama dapat berjalan di semuanya. Program JavaScript yang ditulis untuk satu browser dapat dibagikan dan dijalankan di browser lain tanpa perubahan.

Cakupan lintas browser itulah yang membuat JavaScript hadir di mana-mana. Hampir semua perangkat yang dipakai sehari-hari, mulai dari ponsel, laptop, sampai televisi pintar, menyimpan browser yang siap mengeksekusi JavaScript. Validasi form, animasi, pemuatan data tanpa menyegarkan halaman, dan hampir semua interaksi pada situs web modern berjalan dengan bahasa ini. Bagi pengembang web, menulis JavaScript berarti menulis untuk platform yang sudah terpasang di perangkat pengguna, tanpa langkah pemasangan tambahan apa pun.

Pembaruan browser juga menguntungkan bahasa ini. Ketika sebuah engine memperoleh dukungan fitur baru, fitur itu otomatis tersedia bagi pengunjung situs setelah browser diperbarui. Tidak ada langkah penyesuaian yang perlu ditempuh pemilik situs, selain memastikan kodenya mengikuti spesifikasi. Inilah salah satu alasan fitur bahasa JavaScript terasa berkembang lebih cepat dibanding banyak bahasa lain.

Node.js dan tempat berjalan lainnya#

Selama kurang lebih empat belas tahun, JavaScript hanya berjalan di dalam browser. Situasi itu berubah pada 2009 ketika Ryan Dahl memperkenalkan Node.js, runtime yang membawa engine V8 keluar dari browser ke sistem operasi. Dengan Node.js, JavaScript berjalan sebagai program mandiri di server, memproses permintaan HTTP, membaca berkas, dan mengakses basis data. Satu bahasa sejak itu dapat dipakai di sisi browser dan sisi server sekaligus.

Inti bahasanya sama di semua tempat, sedangkan yang berbeda adalah objek host, yakni sekumpulan fasilitas yang disediakan lingkungan tempat kode itu berjalan. Program berikut hanya memakai inti bahasa sehingga dapat dijalankan di browser maupun di Node.js dengan keluaran yang sama. Perbedaan lingkungan baru muncul ketika kode menyentuh fasilitas di luar inti tersebut.

js Contoh: menghitung usia JavaScript dengan inti bahasa saja
// inti bahasa yang sama di semua tempat, tanpa fitur host apa pun
const tahun = 2026;
const usia = tahun - 1995;
console.log(`Pada tahun ${tahun}, JavaScript berusia ${usia} tahun.`);
text Keluaran
Pada tahun 2026, JavaScript berusia 31 tahun.

Contoh yang paling mudah dilihat ada pada objek window, yang hanya ada di browser, sedangkan Node.js menyediakan objek process untuk mengakses informasi runtime. Pemeriksaan typeof terhadap nama-nama objek tersebut di Node.js menghasilkan keluaran berikut.

js Contoh: memeriksa objek host dengan typeof
// objek host berbeda antar lingkungan, sedangkan inti bahasanya tetap sama
console.log(typeof window);
console.log(typeof globalThis);
console.log(typeof process);
text Keluaran
undefined
object
object

Di browser, pemeriksaan yang sama memberi object untuk window karena objek itu memang milik browser. Di luar browser dan server, JavaScript juga mengisi peran yang lebih kecil tetapi nyata. Banyak perkakas baris perintah dan alat pembangun proyek web ditulis dengan Node.js. Aplikasi desktop lintas platform dapat dibangun dengan Electron, kerangka kerja yang menggabungkan Node.js dan Chromium. Terdapat pula ranah embedded, yaitu perangkat keras kecil dengan sumber daya terbatas yang menjalankan versi JavaScript yang dipangkas ukurannya.

Ringkasan#

  • JavaScript lahir pada 1995 di Netscape dari draf pertama yang selesai dalam sekitar sepuluh hari, lalu berganti nama dari Mocha menjadi LiveScript dan akhirnya JavaScript.
  • Nama JavaScript dipilih karena alasan pemasaran, sedangkan desain bahasanya berbeda dari Java pada pengetikan, bentuk program, dan tempat berjalannya.
  • Spesifikasi bahasanya bernama ECMAScript dan dikelola TC39, dengan pembaruan besar ES2015 lalu edisi tahunan sesudahnya.
  • Browser tetap menjadi tempat berjalan utama, sedangkan Node.js sejak 2009 membawa JavaScript ke server, perkakas baris perintah, dan aplikasi desktop.

Referensi#