Definitie: JavaScript is een programmeertaal waarmee webpagina’s en webapplicaties interactief worden: de code draait in de browser en kan inhoud aanpassen, reageren op klikken en invoer, en gegevens ophalen zonder dat de pagina opnieuw laadt. Met Node.js draait JavaScript ook op servers, waardoor dezelfde taal voor de voorkant en de achterkant van een applicatie te gebruiken is.

In het kort

  • JavaScript is in 1995 bij Netscape ontwikkeld door Brendan Eich. De officiële standaard heet ECMAScript.
  • Samen met HTML (structuur) en CSS (vormgeving) is JavaScript een van de drie kerntechnologieën van het web.
  • Ondanks de naam heeft JavaScript weinig met Java te maken. De naam was destijds vooral een marketingkeuze.
  • Bekende frameworks en bibliotheken zijn React, Vue en Angular; TypeScript is een uitbreiding met vaste typen die veel wordt gebruikt bij grotere projecten.

Wat is JavaScript?

Wat is JavaScript precies? Het is de taal die een webpagina laat reageren. Als je een formulier invult en direct een melding ziet dat je e-mailadres niet klopt, als een menu openklapt, of als een lijst met resultaten zich aanpast terwijl je typt, dan is dat bijna altijd JavaScript.

Een webpagina bestaat uit drie lagen:

Laag Taal Wat het doet
Structuur HTML Koppen, tekst, knoppen, formulieren
Vormgeving CSS Kleuren, lettertypen, indeling
Gedrag JavaScript Reageren op de gebruiker, gegevens ophalen, inhoud aanpassen

Volgens Pixiebrix is JavaScript een lichtgewicht, geïnterpreteerde programmeertaal en een kerntechnologie van het web. Elke moderne browser kan JavaScript uitvoeren, zonder dat de gebruiker iets hoeft te installeren.

JavaScript betekenis en herkomst

JavaScript werd in 1995 gemaakt door Brendan Eich, die toen bij Netscape werkte. Volgens OVHcloud bouwde hij de eerste versie in ongeveer tien dagen. Guru99 beschrijft hoe de taal eerst Mocha heette, daarna LiveScript, en in december 1995 de naam JavaScript kreeg. Die naamswijziging hing samen met een marketingafspraak met Sun Microsystems, de eigenaar van Java, dat toen erg populair was.

In 1996 bood Netscape de taal aan bij Ecma International voor standaardisatie. De eerste versie van de standaard, ECMA-262, verscheen volgens Guru99 in juni 1997. Sindsdien heet de officiële specificatie ECMAScript; JavaScript is de bekende naam van de taal die browsers uitvoeren. Een grote vernieuwing kwam in 2015 met ECMAScript 2015, ook wel ES6, met onder meer modules, klassen en promises. Sindsdien verschijnt er elk jaar een nieuwe editie.

Hoe werkt JavaScript?

Als je een webpagina opent, laadt de browser de HTML, de CSS en de JavaScript-bestanden. Een JavaScript-engine voert de code uit. Bekende engines zijn volgens Guru99 V8 in Chrome en Edge, SpiderMonkey in Firefox en JavaScriptCore in Safari.

De code werkt met de DOM, het Document Object Model: een boomstructuur van alle elementen op de pagina. Volgens Kinsta is de DOM een W3C-standaard die scripts toegang geeft tot de inhoud, structuur en stijl van een document. Door de DOM aan te passen, verandert wat de gebruiker ziet, zonder dat de pagina opnieuw wordt geladen.

JavaScript is gebeurtenisgestuurd. De code wacht op gebeurtenissen, zoals een klik, een toetsaanslag of het binnenkomen van gegevens van de server, en voert dan de bijbehorende stap uit. Gegevens ophalen gebeurt asynchroon: de pagina blijft bruikbaar terwijl het antwoord onderweg is.

Een voorbeeld: van klik tot resultaat

Stel dat een medewerker in een webapplicatie een lijst met openstaande aanvragen filtert op de status “wacht op klant”. Met JavaScript gebeurt dan het volgende:

  1. De gebruiker kiest de status in een keuzelijst. JavaScript vangt die gebeurtenis op.
  2. Het script stuurt een verzoek naar de API van de server, bijvoorbeeld /aanvragen?status=wacht-op-klant.
  3. Terwijl het antwoord onderweg is, toont de pagina een laadindicator. De rest van het scherm blijft bruikbaar.
  4. De server stuurt de gegevens terug, meestal in JSON.
  5. Het script bouwt de lijst opnieuw op door de DOM aan te passen. Alleen de lijst verandert; de kop, het menu en de filters blijven staan.
  6. Het adres in de adresbalk wordt bijgewerkt, zodat de medewerker de gefilterde lijst kan delen of later terugvinden.

Zonder JavaScript zou elke filterkeuze een nieuwe pagina van de server vragen. Met JavaScript voelt de applicatie sneller en rustiger aan.

Waarvoor wordt JavaScript gebruikt?

  • Interactieve websites. Menu’s, sliders, formuliercontrole, filters en animaties.
  • Webapplicaties. Dashboards, klantportalen, planningstools en andere applicaties die in de browser draaien, vaak als single page application.
  • Servers en API’s. Met Node.js, dat volgens Guru99 in 2009 verscheen, draait JavaScript ook buiten de browser.
  • Mobiele apps. Met frameworks als React Native bouw je apps voor iOS en Android in JavaScript.
  • Desktopprogramma’s. Sommige bekende programma’s voor de computer zijn gebouwd met webtechniek en JavaScript.
  • Games. Kinsta noemt browsergames in 2D en 3D.
  • Automatisering. Scripts en koppelingen in tools voor workflow-automatisering.

JavaScript en Java: wat is het verschil?

JavaScript Java
Ontstaan 1995, Netscape 1995, Sun Microsystems
Draait In de browser en met Node.js op servers Op servers, desktops en Android, via de Java Virtual Machine
Typen Dynamisch: een variabele kan van type veranderen Statisch: typen liggen vast
Uitvoering Direct uitgevoerd door een engine, met just-in-time-compilatie Vooraf gecompileerd naar bytecode
Typisch gebruik Webinterfaces, webapplicaties, API’s Grote bedrijfssystemen, Android-apps

Volgens Guru99 zijn de twee talen, afgezien van de naam, verder niet verwant. Kinsta wijst erop dat Java objectgeoriënteerd en gecompileerd is, terwijl JavaScript objectgebaseerd is.

Bibliotheken, frameworks en TypeScript

Bijna niemand bouwt een grotere applicatie in losse JavaScript, ook wel vanilla JavaScript genoemd. Ontwikkelaars gebruiken bibliotheken en frameworks die veel basiswerk regelen.

Naam Soort Kenmerk
React Bibliotheek Interfaces uit herbruikbare componenten, van Meta
Vue Framework Licht en toegankelijk, stap voor stap in te voeren
Angular Framework Uitgebreid en sterk gestructureerd, van Google
Node.js Runtime JavaScript op de server
jQuery Bibliotheek Vroeger zeer populair voor het aanpassen van pagina’s, nu vooral in oudere sites

TypeScript is een uitbreiding van JavaScript met vaste typen. De code wordt omgezet naar gewoon JavaScript, maar fouten worden eerder gevonden. Volgens Pixiebrix groeit het gebruik van TypeScript, omdat het veiliger ontwikkelen mogelijk maakt.

Voordelen van JavaScript

  • Werkt in elke browser, zonder installatie.
  • Eén taal voor voor- en achterkant, dankzij Node.js.
  • Groot ecosysteem. Via pakketbeheerders zoals npm zijn honderdduizenden pakketten beschikbaar.
  • Grote community met veel documentatie en ontwikkelaars.
  • Snelle feedback. Wijzigingen zijn direct zichtbaar in de browser.
  • Breed inzetbaar. Met dezelfde kennis bouw je websites, webapplicaties, API’s en mobiele apps.
  • Veel ontwikkelaars. Omdat de taal zo breed wordt gebruikt, is het makkelijker om later een andere ontwikkelaar te vinden die het werk kan overnemen.

Nadelen en aandachtspunten

  • Beveiliging. Code draait bij de gebruiker en is daar zichtbaar en aanpasbaar. Kinsta noemt cross-site scripting (XSS) als een van de meest voorkomende aanvallen. Controles op rechten horen daarom ook op de server.
  • Prestaties. Volgens OVHcloud kunnen te veel of slecht geoptimaliseerde scripts een website vertragen, wat de gebruikerservaring en de Core Web Vitals van Google kan schaden.
  • Verschillen tussen browsers. Niet elke browser ondersteunt elke nieuwe functie op hetzelfde moment.
  • Veel afhankelijkheden. Een modern project gebruikt vaak veel pakketten. Elk pakket moet worden bijgehouden en kan bij een update iets breken.
  • Dynamische typen. Fouten komen soms pas tijdens gebruik aan het licht. TypeScript en tests helpen dat te voorkomen.

JavaScript en vindbaarheid in Google

Voor een website die gevonden moet worden, maakt het uit hoe JavaScript wordt ingezet. Staat de belangrijkste tekst pas op de pagina nadat een script is uitgevoerd, dan moet een zoekmachine dat script ook uitvoeren om de inhoud te zien. Google kan dat, maar het kost meer tijd en gaat niet altijd goed. Daarom zetten ontwikkelaars inhoud die gevonden moet worden bij voorkeur direct in de HTML, en gebruiken ze JavaScript voor de interactie. Voor een applicatie achter een inlog speelt dit geen rol.

JavaScript en onderhoud

Een JavaScript-project leunt vaak op tientallen of honderden pakketten via npm. Die pakketten krijgen updates, soms omdat er een beveiligingsprobleem is gevonden. Wie een applicatie jarenlang niet bijwerkt, bouwt technische schuld op: hoe langer je wacht, hoe groter de stap naar een actuele versie. Spreek daarom af wie de pakketten bijhoudt, hoe vaak dat gebeurt en hoe getest wordt of alles daarna nog werkt. Kies bij voorkeur breed gebruikte, actief onderhouden pakketten en houd het aantal afhankelijkheden beperkt.

Wat betekent dit voor jouw project?

Bijna elke webapplicatie gebruikt JavaScript, de vraag is vooral hoeveel. Een klantportaal waarin een planner de hele dag werkt, heeft baat bij een interface die direct reageert. Een eenvoudige rekentool of een overzicht dat af en toe wordt bekeken, kan met veel minder JavaScript toe en is dan makkelijker te onderhouden.

Ik begin daarom niet bij de techniek, maar bij de vraag wie het gaat gebruiken en welke taak die persoon als eerste moet kunnen afronden. Daarna kies ik een gangbare opbouw, zodat een andere ontwikkelaar later kan aansluiten.

Vraag? Wil je een webapplicatie laten bouwen die prettig werkt voor je team of klanten? Stuur me voor wie het is, wat er nu gebeurt en wat de eerste versie moet oplossen. Dan bepalen we samen de logische eerste stap. Lees ook wat er komt kijken bij een webapplicatie bouwen.

Veelgestelde vragen over JavaScript

Wat is JavaScript?

JavaScript is een programmeertaal waarmee webpagina’s en webapplicaties interactief worden. De code draait in de browser en kan inhoud aanpassen, reageren op de gebruiker en gegevens ophalen; met Node.js draait JavaScript ook op servers.

Is JavaScript hetzelfde als Java?

Nee. JavaScript en Java zijn verschillende talen met een andere opbouw en een ander gebruik. De gelijkende naam komt voort uit een marketingafspraak tussen Netscape en Sun Microsystems in 1995.

Wat is het verschil tussen JavaScript en TypeScript?

TypeScript is een uitbreiding van JavaScript met vaste typen. De code wordt omgezet naar gewoon JavaScript, maar fouten worden eerder gevonden, wat vooral bij grotere projecten helpt.

Verwante termen

Single Page Application (SPA) · React Native · REST API · Webapplicatie · Laravel · Progressive Web App

← Terug naar de kennisbank