Plak je kapotte JavaScript hier en klik op "JS Repareren!!" om het te herstellenOngeldige JS invoeren

Wat is de JS Reparatie Tool?

Je plakt een fragment uit een doc-pagina of een chatdraad en de parser knalt eruit. Ergens mist een puntkomma waar ASI niet hielp. Een accolade is opgegeten. Een string loopt door over het einde van de regel. Deze tool neemt dat kapotte JavaScript en geeft je iets terug dat de engine echt accepteert.

De grammatica van JavaScript is gedefinieerd door de ECMAScript-specificatie van TC39, en dat is wat elke browser en Node.js volgen bij het parsen van je code. De JavaScript-referentie van MDN loopt de regels in heldere taal door. Automatic Semicolon Insertion (ASI) is onderdeel van die grammatica — meestal handig, pijnlijk wanneer een onverwachte regelafbreking stilletjes verandert wat je code betekent. Deze tool richt zich op syntaxisbreuk; als je daarnaast wilt herformatteren, jaag de uitvoer dan daarna door Prettier.

Alles loopt via je browser naar onze backend en terug. Gebruik het als eerste stap voordat je ESLint op het bestand richt — de meeste regelovertredingen zijn makkelijker te lezen als de code in elk geval parseert.

Hoe de JS Reparatie Tool te gebruiken

Drie stappen. Elke stap gebruikt de echte knoppen en panelen op deze pagina.

1

Plak kapotte JS of laad voorbeeld

Zet je kapotte JavaScript in de linker editor. Klik op Voorbeeld JS om te zien wat voor input de tool aankan. De klassieke chaos ziet er zo uit — ontbrekende puntkomma's, een ontbrekende komma in een objectliteral, een ongebalanceerde accolade, een waarde die een string had moeten zijn maar zonder aanhalingstekens is getypt:

function processOrder(customer) {
  const order = { id: "ORD-9001" customer: customer, status: pending }
  return order

De tool gaat om met ontbrekende puntkomma's, ongebalanceerde `{`/`}`, `[`/`]` en `(`/`)`, ontbrekende komma's in objecten en arrays, niet-aangehaalde waarden, niet-afgesloten strings en rare operatorcombinaties.

2

Klik op JS Repareren!!

Druk op de groene JS Repareren!!-knop. De code gaat naar de backend, wordt gerepareerd en komt parseable terug. Tijdens het proces verschijnt een laadindicator — meestal een seconde of twee.

3

Bekijk de uitvoer

Het rechter paneel toont de gerepareerde code. De semantiek blijft zo dicht mogelijk bij je input — alleen de syntaxis wordt gerepareerd. Kopieer de uitvoer, plak hem terug in je editor en haal hem door je formatter of linter.

Wanneer je dit echt zou gebruiken

Geplakte fragmenten herstellen

Code uit een Slack-draad, een StackOverflow-antwoord of een PDF verliest onderweg vaak aanhalingstekens, regelvervolgingen of hele leestekens. Haal het hier doorheen voordat je met de hand begint te bewerken.

Geëxtraheerde minified code debuggen

Wanneer je een stacktrace uit een productiebundle leest en een fragment pakt om te bekijken, is het laten parsen al het halve werk. Repareer eerst de syntaxis, verfraai daarna, graaf vervolgens.

ASI-verrassingen

Code die op automatische puntkomma-insertie leunde kan op subtiele manieren breken — een `return` gevolgd door een regelafbreking geeft bijvoorbeeld stilletjes `undefined` terug. De tool voegt expliciete puntkomma's toe op de plekken waar de parser ze wil.

AI-gegenereerde stubs opschonen

Fragmenten van een LLM laten af en toe een accolade vallen of slaan een komma over. Repareer de syntaxis hier voordat je het resultaat in Babel of je bundler stopt.

Veelgestelde vragen

Wordt mijn code ergens opgeslagen?

Het wordt naar onze backend gestuurd zodat het AI-model het kan repareren, en daarna geven we het resultaat terug. We loggen de code niet, trainen er niet op, en gebruiken hem nergens anders voor dan het repareren van dit ene verzoek.

Wat voor fouten kan het herstellen?

Spullen op syntaxisniveau: ontbrekende puntkomma's, ongebalanceerde accolades / haken / haakjes, ontbrekende komma's in objecten en arrays, niet-aangehaalde waarden waar een string werd verwacht, niet-afgesloten strings en template literals, misvormde operatorcombinaties. Logicabugs (verkeerde voorwaarde, off-by-one) vallen buiten bereik.

Verandert het de betekenis van mijn code?

Het probeert dat hard niet te doen. Het doel is je semantiek intact te houden en alleen de grammatica te repareren. Er zijn randgevallen waar wat interpretatie nodig is (een token zonder aanhalingstekens waar duidelijk een string hoort, bijvoorbeeld) — in die gevallen kiest de tool de meest waarschijnlijke bedoeling. Bekijk de uitvoer altijd.

Wordt TypeScript ondersteund?

TypeScript-specifieke syntaxis — typeannotaties, generics, decorators — valt buiten bereik. De JS-deelverzameling van TS (classes, async/await, template literals, moderne array-methoden) parseert prima. Voor een echte TS-conversie zie onze JS naar TypeScript-tool.

Kan ik dit op productiecode gebruiken?

Het is een syntaxis-reparatietool, geen vervanging voor een linter of typechecker. Behandel de uitvoer als een startpunt — haal het door ESLint en je testsuite voordat je het uitrolt.

Is er code die het simpelweg niet kan repareren?

Soms. Als de input te fragmentarisch is of de oorspronkelijke bedoeling echt dubbelzinnig (meerdere geloofwaardige reparaties), kiest de tool er één — maar het resultaat kan syntactisch geldig en semantisch fout zijn. Bekijk de uitvoer altijd, zeker bij invoer van een paar regels.

Andere JavaScript-tools die je misschien nodig hebt

De syntaxis repareren is maar stap één. Hier zijn de andere JavaScript-tools op de site: