JS-reparationsverktyg
Reparera trasig JavaScript-kod automatiskt
Vad är JS-reparationsverktyget?
Du klistrar in ett snippet från en doc-sida eller en chatt-tråd och parsern smäller. Ett semikolon saknas där ASI inte hjälpte. En klammer har ätits upp. En sträng rinner över radslutet. Det här verktyget tar den trasiga JavaScripten och ger dig något som motorn faktiskt accepterar.
JavaScripts grammatik definieras av ECMAScript-specifikationen från TC39, och det är vad varje webbläsare och Node.js följer när de parsar din kod. JavaScript-referensen på MDN går igenom reglerna i klart språk. Automatic Semicolon Insertion (ASI) är en del av den grammatiken — bekvämt mestadels, smärtsamt när en oväntad radbrytning tyst ändrar vad din kod betyder. Det här verktyget riktar in sig på trasighet på syntaxnivå; om du också vill omformatera, kör utdata genom Prettier efteråt.
Allt går via webbläsaren till vår backend och tillbaka. Använd det som första pass innan du riktar ESLint mot filen — de flesta regelbrott är lättare att läsa när koden åtminstone parsar.
Så använder du JS-reparationsverktyget
Tre steg. Varje steg använder de faktiska knapparna och panelerna på den här sidan.
Klistra in trasig JS eller ladda exempel
Lägg din trasiga JavaScript i den vänstra redigeraren. Klicka på Exempel-JS för att se vilken sorts indata verktyget hanterar. Det klassiska kaoset ser ut så här — saknade semikolon, ett saknat kommatecken i en objektliteral, en obalanserad klammer, ett värde som borde varit en sträng men skrevs utan citattecken:
function processOrder(customer) {
const order = { id: "ORD-9001" customer: customer, status: pending }
return order
Verktyget hanterar saknade semikolon, obalans i `{`/`}`, `[`/`]` och `(`/`)`, saknade kommatecken i objekt och arrayer, ociterade värden, oavslutade strängar och konstiga operatorkombinationer.
Klicka på Fixa JS!!
Tryck på den gröna Fixa JS!!-knappen. Koden går till backend, repareras och kommer tillbaka parsbar. En laddningsindikator visas under tiden — oftast en eller två sekunder.
Granska utdata
Den högra panelen visar reparerad kod. Semantiken stannar så nära din indata som möjligt — bara syntaxen repareras. Kopiera utdata, klistra tillbaka i din editor och kör din formaterare eller linter på den.
När du faktiskt använder det
Återställa inklistrade snippets
Kod som kommer från en Slack-tråd, ett StackOverflow-svar eller en PDF tappar ofta citattecken, radförlängningar eller hela skiljetecken på vägen. Kör den genom här innan du börjar handredigera.
Felsöka extraherad minified kod
När du läser ett stackspår från ett produktionsbundle och hugger ut ett fragment att inspektera, är det halva slaget att få det att parsa. Fixa syntaxen först, försköna sedan, gräv sist.
ASI-överraskningar
Kod som lutade sig mot automatisk semikoloninsättning kan brytas på subtila sätt — `return` följt av en radbrytning returnerar tyst `undefined`, till exempel. Verktyget lägger till explicita semikolon där parsern vill ha dem.
Städa AI-genererade stubbar
Snippets från en LLM tappar då och då en klammer eller hoppar över ett kommatecken. Fixa syntaxen här innan du skickar in resultatet i Babel eller din bundler.
Vanliga frågor
Lagras min kod någonstans?
Den skickas till vår backend så att AI-modellen kan reparera den, sedan ger vi tillbaka resultatet. Vi loggar inte koden, vi tränar inte på den och vi använder den inte till något annat än att reparera just denna förfrågan.
Vilka typer av fel fixar det?
Saker på syntaxnivå: saknade semikolon, obalanserade klamrar / hakparenteser / parenteser, saknade kommatecken i objekt och arrayer, ociterade värden där en sträng förväntades, oavslutade strängar och template literals, malformade operatorkombinationer. Logikbuggar (fel villkor, off-by-one) är utanför scope.
Ändras betydelsen av min kod?
Det försöker hårt att inte göra det. Målet är att hålla semantiken intakt och bara reparera grammatiken. Det finns gränsfall där tolkning krävs (en ociterad token där det tydligt borde stå en sträng, till exempel) — då väljer verktyget den mest sannolika avsikten. Granska alltid utdata.
Stöds TypeScript?
TypeScript-specifik syntax — typannoteringar, generics, decorators — är utanför scope. JS-delmängden av TS (klasser, async/await, template literals, moderna array-metoder) parsar rent. För en riktig TS-konvertering, se vårt verktyg JS till TypeScript.
Kan jag använda det här på produktionskod?
Det är ett syntaxreparationsverktyg, inte en ersättning för en linter eller typkontrollant. Behandla utdata som en startpunkt — kör genom ESLint och din testsvit innan du levererar.
Finns det kod som det helt enkelt inte kan reparera?
Ibland. Om indata är för fragmentariska eller den ursprungliga avsikten är genuint tvetydig (flera plausibla reparationer), väljer verktyget en — men resultatet kan vara syntaktiskt giltigt och semantiskt fel. Granska alltid utdata, särskilt för indata på några få rader.
Andra JavaScript-verktyg du kan behöva
Att reparera syntaxen är bara steg ett. Här är de andra JavaScript-verktygen på sajten: