JavaScript-Validator
Nennt die Zeile, nicht nur den Fehler
Dieser JavaScript-Validator liest ein Skript so, wie eine Engine es tut, und meldet das Erste, was ihn anhält. Jeder Hinweis trägt dabei eine Zeile, eine Spalte und das schuldige Token, deshalb gehen Sie direkt dorthin. Nichts verlässt den Browser und nichts wird ausgeführt.
- KostenlosPreis
- ES2024Liest
- NieFührt Code aus
- KeineUploads
JavaScript Validator
Read a script and name the first syntax error, with the line and the column
Nothing read yet.
Read to the end. Every line parses, and there is nothing to fix.
Ready. Paste a script, or press the sample button.
Was ein JavaScript-Validator prüft
Eine Engine liest ein ganzes Skript, bevor sie eine einzige Zeile davon ausführt. Daher hält eine kaputte Klammer irgendwo die ganze Datei an, und der Tab bleibt leer.
Genau für diesen Fehler gibt es diesen JavaScript-Validator. Er geht das Skript als Text durch und nennt die erste Stelle, an der die Grammatik bricht, mit Zeile und Spalte.
Außerdem prüft er die Form des Gelesenen. Eine Klammer ohne Partner, eine Zeichenkette, die nie schließt, ein Schlüsselwort als Name, ein verlorenes Komma in der Argumentliste eines Aufrufs.
Er baut keinen Ausführungskontext, deshalb erzeugt er keine globale Variable und ruft keine Funktion auf. Weil der Leser das Skript nur liest, können Sie einen Validator auf Code richten, den Sie auf einer eigenen Seite nie laufen ließen.
Nichts verlässt diesen Tab. Daher wird ein Kundenskript unter Verschwiegenheitsvereinbarung genau wie ein öffentliches gelesen.
Wie ein JavaScript-Validator ein Skript liest
Der erste Durchgang macht aus dem Text Token. Eine Zahl, eine Zeichenkette, ein Template, ein regulärer Ausdruck, ein Name, ein Operator und ein Schlüsselwort sind verschiedene Dinge, und der Leser entscheidet Zeichen für Zeichen, was er vor sich hat.
Dann durchläuft der zweite Durchgang diese Token der Reihe nach und prüft die Form dessen, was er liest: welche Klammern noch offen sind, welche Namen ein Gültigkeitsbereich bereits hält und ob ein Wort wie return eine Funktion um sich hat. Das Regelwerk ist hier ECMA-262, der Standard hinter jeder Engine.
Die Reihenfolge zählt, und sie erklärt überraschend viele Fehlermeldungen. Weil das Zerlegen zuerst läuft, hat ein Skript, das nach einem Klammerproblem aussieht, in Wahrheit oft ein Anführungszeichen, das nie schloss.
Ein Fall verlangt einen zweiten Blick statt einer Regel: Ein Schrägstrich ist ein Divisionsoperator oder der Anfang eines regulären Ausdrucks, und die Antwort hängt vom Token davor ab. Deshalb fragt der Zerleger das letzte Token, was es war.
Templates bringen eine weitere Falte. Weil ein Template einen Ausdruck in Klammern halten kann, führt der Zerleger einen Stapel über das Template, in dem er steckt. Dabei ist eine Klammer in einer Zeichenkette Text, und eine Klammer in einem Template ist Code.
Warum ein gültiges Skript trotzdem falsch sein kann
Grammatik und Bedeutung sind getrennte Schichten. Ein Validator beantwortet die Frage der Grammatik, und jeder brauchbare hört dort auf.
Deshalb kommt ein Skript mit einer Variablen durch, die im strikten Modus nie deklariert wird, mit einer Eigenschaft, die aus einem Wert gelesen wird, das gerade undefined hält, oder mit einem await in einer Funktion, die nicht asynchron ist. Jedes davon ist ein Laufzeitproblem.
Die Grenze dazwischen lohnt sich zu merken. Ein Syntaxfehler heißt, dass kein Teil der Datei lief, und ein Laufzeitfehler heißt, dass die Datei bis zu dieser Zeile lief. Daher verlangen die beiden eine völlig andere Fehlersuche.
Darum nennt diese Seite auch den ersten Fehler statt hundert. Weil die Analyse dort stehen bleibt, ist alles danach geraten, und eine Liste von Vermutungen wiegt weniger als eine Tatsache.
Die sechs Prüfungen und was jede bedeutet
Die erste Prüfung ist die Klammerbalance. Der Leser meldet eine geschweifte, eine eckige oder eine runde Klammer ohne Partner an der Stelle, an der er aufgab. Nämlich dieser eine Fehler kann die ganze Datei kosten.

Die zweite ist eine nicht geschlossene Zeichenkette oder ein offenes Template. Weil der Zerleger alles nach einem öffnenden Anführungszeichen verschluckt, nennt der Hinweis sowohl das Zeichen als auch das Dateiende, an dem die Suche aufhörte.
Die dritte ist ein Token, das die Grammatik nicht erlaubt. Zwei Operatoren hintereinander, ein Komma an falscher Stelle oder ein Pfeil ohne etwas davor. Dabei kommt jedes mit dem Token selbst.
Die vierte ist ein Schlüsselwort, das als Name missbraucht wird. Deshalb lehnt der Leser eine Zuweisung an ein reserviertes Wort ab, und eine damit benannte Variable, bevor überhaupt etwas läuft.
Die fünfte ist eine Doppelung in einem Geltungsbereich. Zwei Parameter mit demselben Namen, oder ein let, das einen im gleichen Block bereits deklarierten Namen wiederholt. Weil im ersten Fall der zweite gewinnt und im zweiten eine Ausnahme fliegt, nennt der Leser beide.
Die sechste ist ein return außerhalb einer Funktion, und seine Verwandten. Ein break ohne Schleife, ein case ohne switch und ein yield ohne Generator. Also gehören diese an eine Position und an keine andere.
Was diese Seite nicht tut
Sie führt Ihr Skript nicht aus. Nichts hier erzeugt eine Funktion, setzt eine Variable oder startet einen Timer, also kann nichts auf der Seite handeln, während Sie lesen.

Sie meldet keinen Laufzeitfehler, keinen Typfehler und keinen fehlgeschlagenen Netzwerkaufruf. Weil die eine Engine brauchen, und eine Engine haben Sie im Tab daneben schon.
Sie korrigiert den Code nicht. Eine Vermutung über die fehlende Klammer ist ein Hinweis und keine Änderung, denn eine automatische Korrektur kann aus einem klaren Fehler eine stille Verhaltensänderung machen.
Sie prüft keine Typen. Eine Datei mit einer Typangabe trägt mehr als JavaScript, also fügen Sie die Ausgabe Ihres Compilers ein und nicht seine Eingabe.
Auf dieser Seite
- Das Tool
- Was ein JavaScript-Validator prüft
- So verwenden Sie den JavaScript-Validator
- Warum diesen JavaScript-Validator verwenden
- Gewohnheiten, die ein Skript lesbar halten
- Sechs Wege, auf denen ein Skript nicht gelesen wird
- Fragen zum JavaScript-Validator
- Werkzeuge, die dazu passen
Weiterlesen
So verwenden Sie den JavaScript-Validator
Vier Schritte, und keiner braucht ein Konto.
- 1
Skript einfügen
Fügen Sie zuerst eine ganze Datei oder eine Funktion ein. Weil der Leser mit Text und nicht mit einer kompilierten Form arbeitet, genügt ein Ausschnitt, sobald seine Klammern aufgehen.
- 2
Quelltyp wählen
Wählen Sie dann ein Skript oder ein Modul. Weil import und export zu einem Modul gehören, entscheidet diese Wahl, ob der Leser sie als gültig oder als Fehler liest.
- 3
Ersten Hinweis lesen
Gehen Sie anschließend zu Zeile und Spalte, die er nennt. Weil die Analyse beim ersten Fehler stehen bleibt, ist der zweite Hinweis eine Folge und kein zweites Versehen.
- 4
Beheben, erneut prüfen, weitermachen
Bearbeiten Sie schließlich in Ihrem Editor und fügen Sie es zurück ein, um zu bestätigen, dass der Zähler null ist. Danach ist die Datei für den Minifizierer oder für den Browser bereit.
Warum diesen JavaScript-Validator verwenden
Fünf Gründe, und jeder spart eine Sitzung Fehlersuche.
Er nennt Zeile und Spalte
Weil der Hinweis beide trägt, landen Sie auf dem Zeichen und nicht auf der Gegend. Dann ist eine Datei mit zweihundert Zeilen eine kurze Lesung und keine Jagd.
Er erklärt, warum die Analyse anhielt
Ein Hinweis sagt, was die Grammatik an dieser Stelle erwartete. Daher ist die Korrektur meist aus dem Hinweis allein klar, ohne eine zweite Meinung.
Nichts wird ausgeführt
Weil das Skript nur gelesen wird, kann ein Schnipsel von einem Fremden nicht handeln, während Sie ihn ansehen. Also ist ein Validator der sichere Ort, um einen einzufügen.
Nichts wird hochgeladen
Die Analyse passiert hier und sonst nirgends. Deshalb lässt sich eine Datei aus einem privaten Repository gefahrlos einfügen.
Er liest moderne Syntax
Weil die Grammatik dem aktuellen Standard folgt, werden eine Pfeilfunktion, eine optionale Verkettung und ein Klassenfeld gelesen. Also wird eine moderne Datei nicht beanstandet, weil sie modern ist.
Gewohnheiten, die ein Skript lesbar halten
Sechs Gewohnheiten, die ein Skript leicht lesbar und schnell prüfbar halten.
- Schließen Sie die Klammer beim Öffnen Dann ist der Partner schon da, wenn Sie die Mitte füllen. Nämlich eine kleine Gewohnheit entfernt die teuerste Klasse von Syntaxfehlern.
- Schreiben Sie im strikten Modus Ein Modul ist von vornherein streng, und ein Skript kann mit einer Anweisung in der ersten Zeile darum bitten. Weil der strikte Modus mehrere stille Versehen zu Fehlern macht, hält Ihre Engine bei ihnen an, statt leise weiterzulaufen.
- Bevorzugen Sie const, dann let Ein im Block deklariertes var gehört der Funktion, und dort versteckt sich die versehentliche Wiederverwendung. Daher können zwei Namen, die getrennt aussehen, ein Name sein.
- Eine Anweisung pro Zeile Eine Engine setzt fehlende Semikolons selbst, und sie trifft nicht immer, was Sie meinten. Weil eine Anweisung pro Zeile die Zweideutigkeit entfernt, muss der Leser nie raten.
- Prüfen, bevor Sie minifizieren Ein Minifizierer vertraut seiner Eingabe, also kommt ein kaputtes Skript kaputt und schwerer lesbar heraus. Folglich prüfen Sie zuerst die lesbare Datei, wo Zeilennummern etwas bedeuten.
- Fügen Sie die kompilierte Ausgabe ein Eine Typangabe ist kein JavaScript, also wird eine Datei mit einer nicht gelesen. Daher lassen Sie zuerst den Compiler laufen und prüfen, was er ausgab.
Sechs Wege, auf denen ein Skript nicht gelesen wird
Jeder davon hält die ganze Datei an, deshalb fällt keiner lange unbemerkt aus.
Eine Klammer in falscher Reihenfolge geschlossen
Vorsicht hier. Eine Engine sieht ein Paar, das nicht passt, statt eines fehlenden Zeichens, deshalb zeigt der Hinweis auf die falsch aussehende Zeile und nicht auf die falsche.
Ein Anführungszeichen in einer Zeichenkette derselben Art
Ein nicht geschütztes Anführungszeichen beendet die Zeichenkette zu früh. Weil der Zerleger den Rest dann als Code liest, erscheint der Fehler viele Zeilen nach dem Versehen.
Ein Schrägstrich, der Division bedeutet
Zwei Zeilen unter einem fehlenden Semikolon kann ein Schrägstrich einen regulären Ausdruck beginnen statt zu teilen. Folglich wird aus einem fehlenden Zeichen ein verwirrender Fehler über ein Muster.
Ein Template, das nie geschlossen wird
Ein offen gelassener Backtick verschluckt den Rest der Datei. Also nennt der Hinweis den öffnenden Backtick und das Eingabeende statt der Zeile, die Sie beheben wollten.
Ein Komma, wo ein Semikolon hingehörte
In einem Objekt ist ein Komma richtig und in einem Block ist es falsch. Weil die beiden auf den ersten Blick gleich aussehen, übersteht dieser Fehler eine sorgfältige Lesung.
Ein Schlüsselwort als Name
Etwas namens class oder default wird an einer Position gelesen und an einer anderen nicht. Daher kann ein Name, der in einer Datei lief, in der nächsten ein Fehler sein.
Fragen zum JavaScript-Validator
Ist dieser JavaScript-Validator kostenlos?
Ja. Es gibt kein Konto, kein Limit und keinen bezahlten Tarif. Deshalb prüfen Sie so viele Skripte, wie Sie möchten.
Führt er meinen Code aus?
Nie. Der Leser nimmt das Skript als Text und zerlegt es, und er ruft keine Funktion auf. Deshalb kann ein Schnipsel von einem Fremden nicht handeln, während Sie ihn ansehen.
Was prüft er?
Sechs Familien: Klammerbalance, nicht geschlossene Zeichenketten und Templates, Token, die die Grammatik ablehnt, reservierte Wörter als Namen, Doppelungen in einem Geltungsbereich und falsch gesetztes return, break oder yield.
Welche JavaScript-Version akzeptiert er?
Den aktuellen Standard, bis ES2024. Deshalb werden eine Pfeilfunktion, eine optionale Verkettung, ein Klassenfeld und ein await auf oberster Ebene in einem Modul ohne Klage gelesen.
Findet er Laufzeitfehler?
Nein. Ein Laufzeitfehler braucht eine Engine, die den Code ausführt, und das ist eine andere Aufgabe. Daher beantwortet diese Seite nur die Frage der Grammatik.
Warum meldet er nur einen Fehler?
Weil die Analyse beim ersten Fehler stehen bleibt. Alles danach ist eine Vermutung, und eine Tatsache hilft mehr als hundert Vermutungen.
Wird mein Skript irgendwohin hochgeladen?
Nein. Die ganze Prüfung läuft in diesem Browser-Tab. Deshalb bleibt ein Skript unter einer Verschwiegenheitsklausel dort, wo es ist.
Kann ich einen Ausschnitt statt einer ganzen Datei prüfen?
Ja. Eine einzelne Funktion genügt, sobald ihre Klammern aufgehen. Die Zeilennummern beziehen sich dann auf die Zeilen, die Sie eingefügt haben.
Versteht er JSX oder TypeScript?
Nicht direkt, denn das sind Erweiterungen und nicht JavaScript. Lassen Sie also zuerst den Compiler laufen und prüfen Sie, was er ausgibt.
Was ist der Unterschied zwischen einem Syntaxfehler und einem Typfehler?
Ein Syntaxfehler bedeutet, dass kein Teil der Datei gelaufen ist. Ein Typfehler passiert zur Laufzeit, in einer Zeile, die gelesen wurde. Deshalb verlangen beide eine andere Fehlersuche.
Prüft er die Browser-Unterstützung?
Nein. Eine Anweisung kann gültig sein und im entscheidenden Browser trotzdem nichts tun. Grammatik und Unterstützung sind nämlich getrennte Fragen.
Kann er den Fehler für mich beheben?
Nein, und das ist Absicht. Eine automatische Korrektur kann aus einem klaren Fehler eine stille Verhaltensänderung machen, und die findet man schwerer als den Hinweis.
Warum wird mein Code wegen eines Schrägstrichs beanstandet?
Ein Schrägstrich ist eine Division oder der Anfang eines regulären Ausdrucks, und die Antwort hängt vom Token davor ab. Ohne Semikolon an der richtigen Stelle muss der Leser eines wählen, und dann sagt der Hinweis, welches.
Funktioniert er mit einem Modul?
Ja. Wählen Sie den Quelltyp Modul, dann werden import und export gültig, während ein einfaches Skript beide als Fehler liest. Außerdem behandelt ein Modul let, static und yield als reserviert, sodass ein Name, der in einem Skript durchgeht, hier scheitern kann.
Kann ich eine minifizierte Datei prüfen?
Ja, allerdings helfen die Zeilennummern dann viel weniger. Weil eine minifizierte Datei meist eine sehr lange Zeile ist, gehen Sie für die Korrektur zur lesbaren Quelle zurück.
Zählt er etwas?
Ja. Die Zusammenfassung nennt Zeilen, Token und Zeichen, was hilft, wenn Sie prüfen, ob beim Einfügen am Ende etwas verloren ging.
Ist das dasselbe wie ein Linter?
Nein. Ein Linter nennt Stilprobleme und unbenutzte Variablen, die einen Parser nicht interessieren. Deshalb heißt ein sauberes Ergebnis hier, dass die Datei gelesen wird, und nichts weiter.
Funktioniert er auf dem Handy?
Ja. Die Felder stapeln sich und die Hinweise umbrechen. Deshalb gelingt eine schnelle Prüfung auch vom Handy, obwohl eine lange Datei mit Tastatur leichter fällt.
Kann ich die Hinweise herunterladen?
Ja. Der Download schreibt die Hinweise in eine Textdatei, was praktisch ist, sobald ein Ticket die genauen Zeilennummern braucht.
Brauche ich ein Konto oder eine Erweiterung?
Nein. Es gibt keine Anmeldung, kein Plugin und keine Erweiterung. Deshalb schließen Sie den Tab, sobald das Skript gelesen wird.
Werkzeuge, die dazu passen
Vier Seiten, zu denen dieselbe Arbeit meist führt.
JavaScript-Minifizierer
Sobald das Skript gelesen wird, nehmen Sie Leerzeichen und Kommentare heraus. Weil ein Browser jedes Byte lädt, minifizieren Sie nach dem Prüfen und nicht davor.
Tool öffnen →Code-Verschönerer
Eine Datei, die gelesen wird, kann sich trotzdem schlecht lesen. Rücken Sie sie also neu ein und klären Sie den Klammerstil vor der nächsten Prüfung.
Tool öffnen →JSON-Formatierer
Die meisten Skriptfehler hier kommen von Daten statt von Logik. Falten Sie die Nutzlast also auf und prüfen Sie, ob sie ebenfalls gelesen wird.
Tool öffnen →CSS-Validator
Die andere Hälfte eines Frontend-Builds. Weil der Browser eine Deklaration mit Tippfehler still verwirft, verdient dieses Stylesheet die gleiche Prüfung.
Tool öffnen →
Finden Sie die Zeile, die die Engine ablehnen würde
Fügen Sie das Skript ein, lesen Sie den ersten Hinweis, beheben Sie ihn und starten Sie erneut. Nichts wird ausgeführt und nichts hochgeladen. Außerdem sind die meisten Dateien geprüft, bevor das Wasser kocht, denn der Hinweis nennt Ihnen das Zeichen.