Ads by Yasya El Hakim
Pendahuluan dan Pengenalan Tentang JavaScript

Pada artikel kali ini, mari kita lihat apa saja hal yang spesial dari JavaScript, apa yang bisa kita dapatkan darinya, dan teknologi lain apa saja yang cocok dengannya.


Apa itu JavaScript?

Pada awalnya, JavaScript dibuat agar dapat membuat suatu halaman web menjadi terlihat hidup.

Suatu program yang ditulis dengan menggunakan JavaScript disebut dengan script. Script tersebut dapat langsung ditulis atau dimasukkan ke dalam HTML dan dijalankan secara otomatis saat halaman HTML itu dimuat.

Script hanyalah berupa teks biasa dan tidak perlu di kompilasi sebelum dijalankan. Dan dalam hal ini, JavaScript sangatlah berbeda dengan Java.

Mengapa Dinamakan JavaScript?

Pada awalnya, nama lain dari JavaScript adalah "LiveScript".

Seiring berjalannya waktu, JavaScript menjadi bahasa yang sepenuhnya independen dan memiliki spesifikasinya sendiri yang disebut ECMAScript, sekali lagi, JavaScript tidak ada hubungannya sama sekali dengan Java.

Sekarang, JavaScript dapat dijalankan bukan hanya pada browser, tetapi bisa juga pada server, atau sebenarnya pada perangkat yang memiliki program khusus yang dapat disebut dengan JavaScript Engine.

Setiap Browser memiliki engine bawaan (tetanam) dan biasanya engine itu dapat disebut dengan istilah "JavaScript Virtual Machine".

Setiap engine memiliki nama (codename) yang berbeda-beda seperti:
  • V8 - pada Chrome dan Opera.
  • SpiderMonkey - pada Firefox.
  • ... Terdapat juga nama (codename) lain seperti "Trident" dan "Chakra" pada Internet Explorer, "ChakraCore" pada Microsoft Edge, "Nitro" dan "SquirrelFish" pada Safari, dll.

Istilah di atas sangatlah bagus untuk diketahui karena sering digunakan pada artikel yang membahas tentang development. Saya juga sering menggunakan istilah tersbut. Contoh, jika "fitur X didukung oleh V8", maka fitur tersebut mungkin hanya dapat berfungsi pada Chrome dan Opera.

Bagaimana JavaScript Engine Bekerja?

Cara kerja engine sebernarnya rumit, tetapi cara kerja dasarnya sangat mudah untuk dipahami:
  1. Engine (yang ada pada Browser) membaca (parsing) setiap script.
  2. Kemudian script tersebut diubah (dikompilasi) ke dalam bahasa engine.
  3. Terakhir, engine menjalankan kode dengan cepat.

Engine juga menerapkan optimasi pada setiap proses yang dijalankan. Bahkan ketika script sedang dikompilasi, engine dapat memantaunya, menganalisis data, dan mengoptimalkan kode.

Apa yang Dapat Dilakukan JavaScript pada Browser?

JavaScript modern adalah bahasa pemrograman yang sangat aman. JavaScript tidak menyediakan akses tingkat rendah pada memori atau CPU, karena pada awalnya JavaScript hanya dibuat untuk browser.

Kemampuan JavaScript sangat bergantung pada wilayah operasinya. Contoh, Node.js mendukung fungsi yang bisa membuat JavaScript untuk dapat membaca/menulis file, melakukan netwrok request, dll.

JavaScript dapat melakukan segala hal pada Browser yang berkaitan dengan manipulasi halaman web, berinteraksi dengan pengguna dan juga berinteraksi dengan webserver.

Pada Browser, JavaScript dapat:
  • Menambahkan elemen HTML baru ke dalam halaman web, mengubah konten yang ada, dan mengubah style.
  • Bereaksi dengan apa yang dilakukan oleh pengguna, menjalankan perintah ketika mouse di klik, dan menggerakan pointer.
  • Mengirimkan request melalui jaringan remote, mendownload, dan mengupload file (yang disebut dengan teknologi AJAX dan COMET).
  • Mendapatkan dan mengatur cookie dan menampilkan pertanyaan kepada pengunjung.
  • Mengingat data yang ada pada sisi client atau client-side (Local Storage).

Apa yang Tidak Dapat Dilakukan JavaScript pada Browser?

Kemampuan JavaScript pada browser juga memiliki keterbatasan. Tujuannya adalah untuk mencegah orang yang tidak bertanggung jawab untuk dapat mengakses informasi pribadi atau merusak data milik pengguna.

Contoh keterbatasan dan batasan tersebut seperti:
  • Pada halaman web, JavaScript tidak dipebolehkan untuk membaca/menulis file pada penyimpanan penggunanya, menyalinnya atau menjalankan program yang ada di dalamnya dan tidak memiliki akses langsung ke dalam suatu fungsi pada sistem operasi.

    Terdapat juga beberapa Browser Modern yang dapat memungkinkan JavaScript untuk bekerja dan berinteraksi dengan file, tetapi aksesnya juga terbatas dan hanya disediakan jika pengguna melakukan tindakan tertentu, seperti men-drag and drop file ke dalam browser browser atau memilih file melalui tag <input>.

    Terdapat juga cara untuk berinteraksi dengan kamera atau microphone serta perangkat lain, tetapi sangat membutuhkan izin dari penggunanya.
  • Tab pada browser yang berbeda juga sebenarnya tidak saling berhubungan. Artinya, file JavaScript yang ada dari satu halaman tidak dapat mengakses yang halaman lain jika berasal dari website yang berbeda (dari domain, protokol, atau port yang berbeda).

    Hal itu dapat disebut dengan istilah Same Origin Policy. Untuk mengatasinya, kedua halaman tersebut harus menyetujui pertukaran data yang berisi kode JavaScript.

Batasan yang sudah disebutkan diatas mungkin saja tidak berlaku jika JavaScript digunakan di luar Browser.

Apa yang Membuat JavaScript Menjadi Unik?

Setidaknya terdapat tiga hal yang menarik tentang JavaScript:
  • Dapat di integrasikan penuh dengan HTML/CSS.
  • Hal simple dapat dilakukan dengan cara yang simple.
  • Didukung oleh semua jenis Browser dan sudah diaktifkan secara default.

JavaScript adalah satu-satunya teknologi browser yang dapat menggabungkan ketiga hal diatas dan itulah yang dapat membuat JavaScript menjadi semakin unik.

Ada juga yang mengatakan bahwa JavaScript dapat digunakan untuk membuat server, aplikasi mobile, dll.

Bahasa Selain JavaScript

Syntax (penulisan) pada JavaScript mungin tidak sesuai dengan kebutuhan semua orang dan setiap orang juga pasti memiliki keinginan yang berbeda-beda.

Selain JavaScript, terdapat juga beberapa bahasa baru yang muncul tetapi kemudian di transpile (di ubah) kedalam JavaScript sebelum di jalankan pada Browser.

Bahasa baru tersebut antara lain:
  • CoffeeScript - merupakan pemanis untuk JavaScript. Kelebihan CoffeeScript adalah penulisan yang lebih pendek, jelas dan lebih tepat.
  • TypeScript - merupakan bahasa yang berkonsentrasi pada penambahan "strict data typing" untuk menyederhanakan proses development dan dukungan sistem yang kompleks. TypeScript dikembangkan oleh Microsoft.
  • Flow - juga merupakan bahasa untuk menambahkan data typing, tetapi dengan cara yang berbeda. Flow dikembangkan oleh Facebook.
  • Dart - merupakan bahasa standalone yang memiliki engine nya sendiri dan dapat berjalan di luar Browser (seperti aplikasi mobile), tetapi juga dapat dialihkan ke dalam JavaScript. Dart dikembangkan oleh Google.

Tentu saja masih ada bahasa lain, bahkan jika kita menggunakan salah satu dari bahasa transpiled diatas, kita juga harus memahami JavaScript untuk memastikan agar kita benar-benar dapat memahaminya.

Kesimpulan

  • Pada awalnya, JavaScript dibuat sebagai bahasa khusus untuk browser, tetapi seiring bejalannya waktu, JavaScript juga dapat digunakan di luar Browser.
  • Sampai saat ini, JavaScript memiliki posisi sebagai bahasa Browser yang paling banyak diadopsi dan memiliki integrasi penuh dengan HTML/CSS.
  • Ada banyak bahasa yang di transpiled (di ubah) ke dalam JavaScript dan tentunya menyediakan fitur lain.

0Komentar

Sebelumnya Selanjutnya