Ist Javascript kompiliert oder eine interpretierte Sprache? [geschlossen]

151

Kann Javascript als rein interpretierte Sprache bezeichnet werden? Oder hat es auch einen kompilierten Geschmack? Könnte jemand die Gründe für beide Dinge erläutern, je nachdem, was wahr ist?

netemp
quelle
31
Bitte fügen Sie beim Abstimmen einen Kommentar hinzu, damit die Frage verbessert werden kann. Vielen Dank.
Netemp
2
@Blindy: Erwähnen Sie, dass die Unterscheidung zwischen kompiliert und interpretiert überhaupt nicht vorhanden sein sollte?
Netemp
23
5 Downvotes und nicht einmal ein einziger Kommentar, der angibt, warum die Downvote da war. Ein bisschen enttäuschend.
Netemp
1
Es mag eine übliche Art sein, Sprachen zu klassifizieren, aber das macht es nicht nützlicher.
1
@NetEmp (Hinweis: Ich habe nicht abgestimmt, aber für die Migration zu Programmierern gestimmt.) Dies ist der falsche Ort, um diese Art von Fragen zu stellen. Lesen Sie die FAQ zu den hier zu stellenden Fragen. Dies sollte im Programmierabschnitt von StackExchange
Manse

Antworten:

72

Lesen Sie die Antworten auf diese Frage

/software/138521/is-javascript-interpreted-by-design

Die Antwort, die ich akzeptiert habe, ist ausgezeichnet und sollte helfen, Ihre Frage zu beantworten.

Für mich persönlich bin ich etwas vorsichtig mit der Idee, eine Sprache als interpretiert oder kompiliert zu bezeichnen. Es ist eine Implementierungsentscheidung, die nicht Teil der Sprachspezifikation ist. Wenn Sie über kompiliertes oder interpretiertes JavaScript sprechen möchten, fragen Sie es im Rahmen einer tatsächlichen Implementierung der Sprachspezifikation.

Matt Esch
quelle
19

JavaScript wird zur Laufzeit vom Client-Browser interpretiert. Es gibt jedoch ein Tool namens Rhino JavaScript Compiler , das angeblich JavaScript in Java-Klassendateien kompiliert.

HellaMad
quelle
7
Was ist mit V8 und dergleichen?
25
V8 enthielt nie so etwas wie einen Interpreter, und die meisten großen JS-Engines verfügen inzwischen über JIT-Compiler. Daher ist es offensichtlich falsch zu sagen, dass "JavaScript interpretiert wird" (oder vielleicht ist Ihre Definition von Interpreter / Compiler).
@delnan: Danke für den Einblick bei V8. Somit ist JS keine rein interpretierte Sprache.
Netemp
2
Rhino JavaScript Compiler. Sie wissen, ob Ihre interpretierte Sprache von einer anderen interpretierten Sprache interpretiert werden soll.
Trevor Hickey
1
Wie andere gesagt haben, ist dies seit einiger Zeit nicht mehr der Fall. Ja, in den frühen Tagen konnte man sagen, dass Javascript interpretiert wurde, aber es hat seitdem einen sehr langen Weg zurückgelegt .
John Weisz