JavaScript adalah bahasa objek yang berorientasi dengan warisan prototypal. Bahasa ini mendukung beberapa built-in objek, dan programmer dapat membuat atau menghapus objek mereka sendiri. Warisan prototypal membuat JavaScript yang sangat berbeda dari yang lain, bahasa pemrograman populer seperti C + +, C #, atau kelas Java. JavaScript tidak memiliki kelas dalam C + + atau Java esense. Dalam JavaScript, objek dapat mewarisi sifat langsung dari satu sama lain, membentuk rantai prototipe objek.
Dalam implementasi yang lebih tua (misalnya Internet Exlorer 8 dan sebelumnya, Firefox 3,5), ditafsirkan JavaScript adalah bahasa murni. Ini berarti bahwa script mengeksekusi tanpa kompilasi awal, yaitu tanpa konversi dari teks naskah ke dalam sistem yang bergantung kode mesin. Browser pengguna menafsirkan script, yaitu, menganalisa dan segera mengeksekusinya. Dalam implementasi modern, kode JavaScript dapat ditafsirkan baik atau disusun dengan menggunakan just-in-time (JIT) compiler. Pada waktu berjalan, browser memutuskan apakah (bagian dari) kode script harus JIT-dikompilasi untuk kinerja yang lebih baik. Hal ini membuat JavaScript secara signifikan lebih cepat dan karena itu lebih cocok untuk kompleks kinerja menuntut aplikasi Web. Versi terbaru dari semua browser populer memiliki JavaScript JIT compiler.
Secara luas JavaScript mendukung browser berikut:
- Netscape Navigator (dimulai dengan versi 2.0)
- Microsoft Internet Explorer (dimulai dengan versi 3.0)
- Firefox
- Safari
- Opera
- Google Chrome