JavaScript is een veelzijdige, hoog-niveau scriptingtaal die de basis vormt voor interactie op het web. Het wordt door alle moderne browsers ondersteund en kan ook op de server draaien via Node.js. Met JavaScript bouw je dynamische gebruikersinterfaces, verwerk je data en communiceer je met externe API’s.
Kernkenmerken
- Dynamisch en prototype-gebaseerd: JavaScript is dynamisch getypeerd en gebruikt prototypen in plaats van klassieke klassen (met moderne syntaxis voor classes als suikerlaag).
- Event-driven en asynchroon: Ondersteunt callbacks, Promises en
async/awaitvoor niet-blokkerende operaties. - Universal runtime: Draait in de browser (client-side) en op de server (server-side) met Node.js.
- DOM-manipulatie: Kan HTML en CSS dynamisch aanpassen via de Document Object Model (DOM).
- Modules en tooling: ES-modules (
import/export), bundlers (bijv. Webpack, Vite) en packagebeheer met npm of pnpm.
Hoe werkt het in browser en op de server?
- In de browser: JavaScript runt in een sandbox, heeft toegang tot de DOM en Web API’s (zoals fetch, localStorage, WebSockets), maar niet tot het lokale bestandssysteem.
- Op de server (Node.js): Toegang tot bestandssysteem, netwerk en procesbeheer. Geschikt voor REST/GraphQL API’s, microservices en realtime applicaties.
Standaardisatie en versies
De taal wordt gespecificeerd als ECMAScript (ES) door Ecma International. Sinds ES6 (ES2015) komen er jaarlijks verbeteringen bij (bijv. modules, let/const, arrow functions, async/await). Voor oudere browsers wordt vaak transpiling (zoals Babel) en polyfills gebruikt.
Verschil met Java
Ondanks de naam zijn Java en JavaScript verschillende talen met andere runtime, syntax-doelen en gebruiksscenario’s. JavaScript is primair voor webinteractie en snelle iteratie; Java is een algemene, gecompileerde taal voor o.a. enterprise back-ends en Android.
