MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Bab ini mengenalkan dan membahas konsep yang mendasar di javascript.

Apa yang perlu anda ketahui

Pada pedoman ini kami anggap Anda memiliki pengetahuan dasar dari:

  • Pemahaman umum dari internet dan World Wide Web (WWW).
  • Mengetahui dan memahami bahasa markup atau HyperText Markup Language (HTML).
  • Berpengalaman di beberapa bahasa pemrograman. Jika anda baru belajar programming, silakan coba salah satu tutorial yang terdapat di halaman awal tentang JavaScript.

Kemana untuk mencari informasi JavaScript 

Dokumentasi JavaScript di MDN menyediakan materi diantaranya:

  • Learning the Web menyajikan info untuk pemula, mengenalkan konsep dasar dari programming dan internet.
  • JavaScript Guide (pedoman ini) menyajikan gambaran tentang bahasa JavaScript dan objek - objeknya.
  • JavaScript Reference menyajikan referensi material yang detail untuk JavaScript.

Jika anda baru mengenal JavaScript, mulailah dari area belajar dan Paduan JavaScript. Setelah anda memiliki pemahaman yang kuat tentang dasar - dasar javascript, anda bisa menggunakan Referensi JavaScript untuk melihat lebih detail setiap objek dan statement.

Apa itu JavaScript?

Javascript adalah bahasa yang dapat berjalan di banyak platform (cross-platform), bahasa scripting berorientasi objek. Bahasa yang simple dan ringan. Terdapat di lingkungan host (mis. web browser), JavaScript dapat dihubungkan dengan objek di dalam lingkungannya untuk memberikan kontrol program atas objek - objek tersebut.

JavaScript berisi pustaka dasar (standard library) dari objek - objek, Seperti Array, Date, dan Math, juga set inti dari elemen bahasa seperti operator, control structure, dan statement. Inti JavaScript dapat diperluas untuk tujuan yang beragam dengan melengkapinya dengan objek tambahan; misal:

  • Client-side JavaScript memperluas inti bahasa dengan melengkapi objek untuk mengontrol browser beserta Document Object Model (DOM). Misal, ekstensi pada sisi klien memungkinkan sebuah aplikasi untuk menambahkan elemen pada sebuah form  HTML dan merespon event dari klien / user seperti mouse klik, input form, dan navigasi halaman.
  • Server-side JavaScript memperluas inti bahasa dengan melengkapi objek - objek terkait dengan menjalankan javascript pada sisi server. Misal, ekstensi pada sisi server memungkinkan sebuah aplikasi untuk berkomunikasi dengan database, menyediakan informasi yang kontinuitas dari setiap permintaan ke aplikasi lain, atau melakukan manipulasi file di server.

JavaScript dan Java

JavaScript dan Java memang memiliki kemiripan, namun pada dasarnya berbeda satu dengan lainnya. Bahasa JavaScript menyerupai Java, tapi tidak memiliki static typing dan strong type checking seperti di Java. JavaScript mengikuti sebagian besar ekspresi sintaks Java, konvensi penamaan dan konstruksi kontrol aliran dasar dan inilah yang menjadi alasan kenapa merubah nama dari LiveScript ke JavaScript.

Perbedaan dengan sistem compile-time di java class dibangun menggunakan deklarasi, Javascript mendukung sistem runtime yang berbasis pada sebagian kecil dari data tipe yang mewakili numerik, Boolean, dan nilai string. Javascript memiliki objek model berbasis prototype dibandingkan menggunakan class berbasis objek model. Model berbasis prototype mewariskan dynamic inheritance; yaitu, apa yang diwariskan dapat berbeda pada setiap objek. Javascript juga mendukung fungsi tanpa persyaratan deklaratif yang khusus. Function bisa berupa properti dari objek, mengeksekusi sebagai tipe method yang bebas.

JavaScript merupakan bahasa yang berbentuk sangat bebas dibandingkan java. Anda tidak perlu mendeklarasikan semua variabel, class dan method. Anda tidak perlu khawatir apakah sebuah method itu , private, atau protected, dan anda tidak perlu mengimplementasikan interface. Variable, parameter, dan function return types tidak bertipe eksplisit.

Java merupakan bahasa berbasis class didesain untuk eksekusi yang cepat dan aman dalam penulisan. yang artinya,misal, anda tidak dapat mengubah integer di Java ke referensi objek atau mengakses private memori dengan membobol bytecode. Java berbasis class model artinya program secara eksklusif dari kelas dan methodnya. Class inheritance dan penulisan yang aman pada java umumnya membutuhkan objek hirarki yang berhubungan sangat kuat. Syarat ini membuat bahasa Java lebih kompleks dibanding pemrograman Javascript.

Sebaliknya, JavaScript mewarisi inti dari baris yang lebih kecil, bahasa bertipe dinamis sepeti HyperTalk dan dBASE. Bahasa scripting ini menawarkan alat untuk pengguna yang lebih luas karena sintaksnya yang lebih mudah, berfokus pada fungsional built-in, dan persyaratan yang minimal untuk membuat objek.

JavaScript dibandingkan Java
JavaScript Java
Berorientasi Objek. Tidak ada perbedaan antar tipe objek. Inheritance melalui mekasnisme prototype, serta properties dan method bisa ditambahkan ke setiap objek secara dinamis. Berbasis Class. Objek dibagi ke dalam kelas dan instansi dengan semua inheritance melalui hirarki class. Class dan instansi tidak dapat memiliki properti atau method yang ditambahkan secara dinamis.
Tipe data variabel tidak dideklarasikan(dynamic typing). Tipe data variabel harus di deklarasikan (static typing).
Tidak secara otomatis ditulis di hard disk. Dapat secara otomatis ditulis ke hard disk.

Untuk informasi lebih lanjut perbedaan antara JavaScript dan Java, lihat bagian Detail dari object model.

JavaScript dan Spesifikasi ECMAScript

Javascript mengikuti standar Ecma International —  asosiasi Eropa yang mengurusi standarisasi sistem informasi dan komunikasi  (ECMA merupakan singkatan yang dibaca dari (European Computer Manufacturers Association) yang mengurusi standarisasi bahasa pemrograman internasional berbasis JavaScript. Versi standarisasi JavaScript disebut ECMAScript, semua aplikasi yang mengikuti standar akan berperilaku sama. Perusahaan dapat menggunakan bahasa standar terbuka untuk mengembangkan penerapan JavaScript mereka. Standar ECMAScript didokumentasikan dalam spesifikasi ECMA-262. Kunjungi Terbaru di JavaScript untuk mempelajari lebih lanjut tentang edisi spesifikasi berbagai versi JavaScript dan ECMAScript.

Standar ECMA-262 juga disetujui oleh ISO (International Organization for Standardization) sebagai ISO-16262. Anda juga bisa menemukan spesifikasi di situs Ecma International. Spesifikasi ECMAScript tidak memaparkan Document Object Model yang distandarisasi oleh World Wide Web Consortium (W3C) bersama WHATWG (Web Hypertext Application Technology Working Group). DOM mendefinisikan cara dokumen objek HTML terstruktur pada skrip Anda. Untuk mendapatkan ide yang lebih baik tentang berbagai teknologi yang digunakan saat pemrograman JavaScript, lihatlah artikel ikhtisar teknologi JavaScript.

Perbandingan Dokumentasi JavaScript dengan spesifikasi dari ECMAScript

Spesifikasi ECMAScript adalah seperangkat persyaratan untuk menerapkan ECMAScript; Gunanya adalah jika Anda menerapkan fitur bahasa yang sesuai standar dalam penerapan atau mesin ECMAScript Anda (seperti SpiderMonkey di Firefox, atau v8 di Chrome).

Dokumen ECMAScript tidak dimaksudkan untuk membantu naskah programmer tetapi programmer menggunakan dokumentasi JavaScript untuk informasi dalam penulisan skrip.

Spesifikasi ECMAScript menggunakan terminologi dan sintaksis yang mungkin tidak familiar dengan programmer JavaScript. Meskipun deskripsi bahasa berbeda dalam ECMAScript, tetapi tujuan dari bahasa itu sendiri tetap sama. JavaScript mendukung semua fungsi yang diuraikan dalam spesifikasi ECMAScript.

Dokumentasi JavaScript menggambarkan aspek bahasa yang disesuaikan untuk programmer JavaScript.

Memulai Javascript

Memulai JavaScript itu mudah hanya dibutuhkan sebuah browser untuk menjalankannya. Panduan ini mencakup beberapa fitur JavaScript yang  tersedia pada versi terbaru Firefox, gunakanlah versi terbaru Firefox yang disarankan untuk menjalankan JavaScript.

Ada dua alat yang dibuat oleh Firefox yang berguna dalam bereksperimen dengan JavaScript yaitu Konsol Web dan Scratchpad.

Konsol Web

Konsol Web menunjukkan pada Anda tentang informasi halaman Web yang dibuka saat ini, dan juga menyertakan baris perintah yang dapat Anda gunakan untuk mengeksekusi ekspresi JavaScript di halamannya.

Untuk membuka Konsol Web tekan (Ctrl + Shift + K) pada Windows dan Linux atau tekan (Cmd + Option + K) pada Mac, pilih "Web Console" dari menu "Developer", yang berada di bawah menu "Tools" di Firefox. Terlihat di bagian bawah jendela browser. Masukan baris perintah JavaScript pada bagian paling bawah kemudian hasil dari eksekusi JavaScript akan tampil pada bagian panel atasnya.

Scratchpad

Konsol Web bagus untuk menjalankan satu baris kode JavaScript, meskipun Anda dapat menjalankan banyak baris satu persatu teapi tetap saja terasa kurang pas dan Anda tidak dapat menyimpan sampel kode Anda menggunakan Konsol Web. Jadi untuk contoh yang lebih kompleks Scratchpad adalah solusinya.

Untuk membuka Scratchpad tekan (Shift + F4), pilih "Scratchpad" dari menu "Developer", yang ada di bawah menu di Firefox. Terbuka di jendela yang terpisah dan merupakan editor yang dapat Anda gunakan untuk menulis dan menjalankan JavaScript di browser. Anda juga dapat menyimpan dan mebuka kode dari tempat penyimpanan.

Hello world

Untuk memulai menulis JavaScript, buka Scratchpad dan tulis kode JavaScript "Hello world" pertama Anda:

function greetMe(yourName) {
  alert("Hello " + yourName);
}

greetMe("World");

Pilih kode diatas dan tekan Ctrl + R untuk melihatnya berjalan di browser Anda!

Pada halaman berikutnya, Anda akan diperkenalkan pada sintaks JavaScript dan fitur bahasa, sehingga Anda dapat menulis aplikasi yang lebih kompleks.

Tag Dokumen dan Kontributor

 Kontributor untuk laman ini: Fidelstu, ardhyui, bekti, adeyahya
 Terakhir diperbarui oleh: Fidelstu,