Lim inn ødelagt JavaScript her og klikk på "Fiks JS!!" for å reparere denAngi ugyldig JS

Hva er JS-reparasjonsverktøyet?

Du limer inn et utdrag fra en doc-side eller chattetråd, og parseren detonerer. Et semikolon mangler der ASI ikke hjalp. En klamme er svelget. En streng løper over linjeslutten. Dette verktøyet tar den ødelagte JavaScripten og gir deg noe tilbake som motoren faktisk godtar.

JavaScripts grammatikk er definert i ECMAScript-spesifikasjonen fra TC39, og det er hva alle nettlesere og Node.js følger når de parser koden din. JavaScript-referansen på MDN går gjennom reglene i klart språk. Automatic Semicolon Insertion (ASI) er en del av den grammatikken — behagelig oftest, smertefull når et uventet linjeskift stille endrer hva koden din betyr. Dette verktøyet sikter mot syntaksnivå-brudd; vil du også ha full omformatering, kjør utdataen gjennom Prettier etterpå.

Alt går gjennom nettleseren din til backend-en vår og tilbake. Bruk det som første pass før du retter ESLint mot filen — de fleste regelbrudd er lettere å lese når koden i det minste parser.

Slik bruker du JS-reparasjonsverktøyet

Tre trinn. Hvert trinn bruker de faktiske knappene og panelene på denne siden.

1

Lim inn ødelagt JS eller last inn eksempel

Legg den ødelagte JavaScripten din i venstre editor. Klikk på Eksempel-JS for å se hvilken type input verktøyet håndterer. Det klassiske rotet ser slik ut — manglende semikolon, manglende komma i en objektliteral, en ubalansert klamme, en verdi som skulle vært en streng men ble skrevet uten anførselstegn:

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

Verktøyet håndterer manglende semikolon, ubalanser i `{`/`}`, `[`/`]` og `(`/`)`, manglende komma i objekter og arrays, ikke-siterte verdier, ikke-avsluttede strenger og rare operatorkombinasjoner.

2

Klikk på Fiks JS!!

Trykk på den grønne Fiks JS!!-knappen. Koden går til backend, blir reparert og kommer tilbake parsbar. En lasteindikator vises i mellomtiden — vanligvis ett eller to sekunder.

3

Gjennomgå utdataen

Høyre panel viser den rettede koden. Semantikken forblir så nær input som mulig — kun syntaksen repareres. Kopier utdataen, lim den tilbake i editoren din, og kjør formatereren eller linteren din på den.

Når du virkelig bruker det

Redde innlimte utdrag

Kode som kommer fra en Slack-tråd, et StackOverflow-svar eller en PDF mister ofte anførselstegn, linjefortsettelser eller hele tegnsetninger på veien. Kjør den gjennom her før du begynner å redigere for hånd.

Feilsøke uthentet minified kode

Når du leser en stack trace fra en produksjonsbundle og henter et fragment for å inspisere det, er halve slaget å få det til å parse. Fiks syntaksen først, forskjønn etterpå, grav til slutt.

ASI-overraskelser

Kode som lente seg på automatisk semikoloninnsetting kan brytes på subtile måter — et `return` etterfulgt av et linjeskift returnerer stille `undefined`, for eksempel. Verktøyet legger til eksplisitte semikolon der parseren vil ha dem.

Rydde i AI-genererte stubber

Utdrag generert av en LLM mister av og til en klamme eller hopper over et komma. Fiks syntaksen her før du sender resultatet inn i Babel eller bundleren din.

Vanlige spørsmål

Lagres koden min noe sted?

Den sendes til backend-en vår slik at AI-modellen kan reparere den, og vi gir resultatet tilbake. Vi logger ikke koden, vi trener ikke på den, og vi bruker den ikke til noe annet enn å reparere denne ene forespørselen.

Hvilke typer feil retter det?

Ting på syntaksnivå: manglende semikolon, ubalanserte klammer / kantede / runde parenteser, manglende komma i objekter og arrays, ikke-siterte verdier der det var ventet en streng, ikke-avsluttede strenger og template literals, feilformede operatorkombinasjoner. Logikkfeil (feil betingelse, off-by-one) er utenfor omfanget.

Vil det endre meningen i koden min?

Det prøver iherdig å la være. Målet er å holde semantikken intakt og kun reparere grammatikken. Det finnes grensetilfeller der tolkning trengs (et ikke-sitert token der det åpenbart skulle vært en streng, for eksempel) — i de tilfellene velger verktøyet den mest sannsynlige hensikten. Sjekk alltid utdataen.

Støttes TypeScript?

TypeScript-spesifikk syntaks — typeannoteringer, generics, decorators — er utenfor omfanget. JS-delmengden av TS (klasser, async/await, template literals, moderne array-metoder) parser fint. For en ekte TS-konvertering, se vårt verktøy JS til TypeScript.

Kan jeg bruke dette på produksjonskode?

Det er et syntaksreparasjonsverktøy, ikke en erstatning for en linter eller type-sjekker. Behandle utdataen som et utgangspunkt — kjør den gjennom ESLint og testsuiten din før du sender den i produksjon.

Er det kode det rett og slett ikke kan reparere?

Iblant. Hvis input er for fragmentert eller den opprinnelige intensjonen er reelt tvetydig (flere plausible reparasjoner), velger verktøyet én — men resultatet kan være syntaktisk gyldig og semantisk feil. Gjennomgå alltid utdata, særlig for input på få linjer.

Andre JavaScript-verktøy du kanskje trenger

Å reparere syntaksen er bare første skritt. Her er de andre JavaScript-verktøyene på sida: