Langsung ke konten utama

Javascript: Interpreted? Compiled?

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Sebelum kita melanjutkan materi menuju framework frontend, kita perkuat dulu dasar atau fondasinya. 


Pada kali ini kita akan membahas tentang interpreter , compiler pada javascript. 

Javascript is scripting language

Javascript merupakan scripting language yang artinya ia menggunakan interpreter.  Berbeda dengan bahasa pemrograman lain misalkan Java ia menggunakan compiler yang menerjemahkan menjadi bahasa yang bisa dimengerti oleh mesin.


Interpreter vs Compiler

Interpreter:

  • Mentranslasi pernyataan program satu persatu
  • Memakan sedikit waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih lambat dibanding compiler
  • bahasa yang menggunakan: javascript, ruby, python.

Compiler

  • Scan seluruh program dan mentranslasikan semuanya kedalam machine code
  • Memakan lebih waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih cepat dibanding interpreter
  • bahasa yang menggunakan: java, c#, c / c++. 

 

src: programiz.com



Tapi...

Berdasarkan kebanyakan di internet javascript merupakan interpreted language. Tapi sebenarnya tidak sepenuhnya benar. Contoh, Kita ambil V8 Chrome Engine yang merupakan sebuah engine/mesin yang berjalan didalam inti google chrome dan Node JS (Backendnya para javascript coder) yang mengkompilasi/compile code asli secara internal.

V8 increases performance by compiling JavaScript to native machine code before executing it, versus executing bytecode or interpreting it.

Artinya, V8 meningkatkan performa dengan kompilasi ke native machine code sebelum mengkesekusi, versus mengeksekusi bytecode atau di interpretasikan.

contoh program:

console.log("Hello World");

hello;


Kalau secara teori interpreter ia akan mengeksekusi baris pertama "Hello World" lalu selanjutnya akan ada kesalahan syntax. Namun, runtime environment javascript modern tidak seperti itu dia akan crash sebelum fungsi console.log dijalankan.


Jadi.. Compiled?

Hmm, mungkin iya tapi mungkin tidak. Tergantung dari implementasinya dan perspektif.


Mungkin sekian untuk materi kali ini, selanjutnya kita akan membahas tentang hoisting. Wassalamualaikum wr wb.

Komentar

Postingan populer dari blog ini

Javascript: Operator Arithmetic

Operator Arithmetic   Halo teman-teman, kembali lagi dengan saya haikal pada materi javascript dasar. Materi ini akan berkaitan dengan materi sebelumnya yaitu dengan data type dan variable bagi yang belum mengikuti materi sebelumnya boleh dibaca terlebih dahulu linknya Javascript: Data Types and Variable . Nah, pada hari ini kita akan mempelajari sebuah operasi aritmatika pada bahasa javascript. Lah, kan katanya kemarin mau ngebahas tentang function dan object?. Sabar gan, kita belajar dulu dari dasarnya karena untuk materi function dan object cukup kompleks. Karena materi ini juga tak kalah menarik. Ok mari kita masuk ke materinya!. Pasti teman-teman udah tau dong apa itu aritmatika. Yap! aritmatika seperti pejumlahan, pengurangan, pembagian, perkalian dan modulus. Dalam bahasa javascript kita dapat penghitung dengan operasi ini. Langung saja kita peraktikan. Penjumlahan Pertama-tama teman-teman buat terlebih dahulu file html dan javascriptnya karena kita akan menggunakan console...

Javascript: DOM Document

 Document Assalamualaikum wr wb. Halo teman-teman gimana kabarnya? semoga sehat selalu dan bisa menjalani aktifitas dengan lancar. Yap, kita kembali lagi berjumpa di materi javascript dom melanjutkan materi sebelumnya. Bagi teman-teman yang belum mengikuti materi sebelumnya, saya sarankan untuk dibaca terlebih dahulu.   DOM Document Seperti pengertian sebelumnya, HTML DOM merupakan sebuah dokumen objek yang merepresentasikan halaman website. Dengan begitu kita dapat mengubah, menghapus dan membuat elemen dan attributnya ataupun value dari tag HTML. Seperti sebelumnya kita menggunakan  innerHTML untuk megisi konten dari tag <p>. Sekarang kita akan mencoba menggunakan method lain untuk mengakses DOM. Mencari Elemen / Tag HTML document.getElementById('nama_id'); document.getElementsByClassName('nama_class'); document.getElementsByTagName('nama_tag'); Untuk mencari elemen dengan classname dan tagname sebenarnya hampir mirip. Karena banyak tag bisa menggunakan ...

Javascript: 4 Fakta Menarik Tentang Javascript

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan membagi fakta-fakta menarik tentang javascript. Seperti yang kalian tau blog ini membahas seputar javascript dan kita akan men-highlight fakta - fakta menarik tentang javascript ini, 1. Immediately-Invoked Function Expression Seperti yang kalian tahu, javascript memiliki sebuah keunikan yang dimana function dapat dipanggil secara langsung menggunakan () setelah function tersebut di deklarasi. Tapi tahukah kalian jika kalian menyimpan 2 function seperti ini: See the Pen iminfunex by haikal ( @haikul ) on CodePen . Function kedua akan error dan mengalami kesalahan sintaks. 2. Semicolon Javascript dapat berjalan dengan dan tanpa semicolon. Kalau bahasa pemrograman pada umumnya ia mengharuskan mengakhiri baris kode dengan sebuah semicolon. Tapi tahukah kalian bahwa semicolon dapat di tempatkan di awal baris sebuah kode seperti ini: See the Pen pre-semicolon by haikal ( @haikul ) on Code...