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: 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...

Javascript: Callback

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Kali ini kita akan membahas tentang callback dan berikut poin-poin yang akan kita bahas: Konsep callback Synchronous callback Asynchronous callback Callback hell   Konsep Callback src: https://i.morioh.com/   Callback sebetulnya sama dengan function pada umumnya, hanya bedanya bagaimana ia dieksekusi. Pada umumnya function di eksekusi dari atas ke bawah maka callback dipanggil hanya pada poin tertentu saja karena itu ia dipanggil callback,  Callback juga disebut sebagai high-order function dan callback ini di eksekusi di dalam function lain yang dimasukkan melalui parameter. Berikut contohnya: See the Pen LYZoErJ by haikal ( @haikul ) on CodePen . Disini kita membuat 2 function yang dimana salah satu functionnya akan menjadi sebuah function callback. kita buat insertNum untuk menerima nomor dan callback function sebagai argument. Yang nantinya akan di eksekusi didalam fun...