JavaScriptはコンパイルされていますか、それともインタープリター言語ですか?[閉まっている]


151

JavaScriptを純粋なインタプリタ言語と呼ぶことはできますか?それとも、それにいくつかのコンパイルされたフレーバーがありますか?誰かが両方の事柄のどちらが真実であるかの背後にある理由を案内できますか?


31
投票の際は、質問を改善できるようにコメントを追加することを検討してください。ありがとう。
netemp 2012年

2
@Blindy:コンパイルされたものと解釈されたものの区別がまったくないはずだと言っていますか?
netemp 2012年

23
5つの反対票、そしてなぜ反対票がそこにあったのかを引用する単一のコメントすらありません。少しがっかり。
netemp 2012年

1
それは言語を分類する一般的な方法かもしれませんが、それはそれをそれ以上役立たせません。

1
@NetEmp(私は反対票を投じていませんが、プログラマーへの移行に投票しました)これは、このタイプの質問をするのに間違った場所です-ここで尋ねる質問についてのFAQを読んでください -これはStackExchange
Manse

回答:


72

この質問への回答を読んでください

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

私が受け入れた答えは素晴らしく、あなたの質問に答えるのに役立つはずです。

個人的には、解釈またはコンパイルされた言語を呼び出すことについては、いくらか慎重です。これは実装の決定であり、言語仕様の一部ではありません。コンパイルまたは解釈されたJavaScriptについて話したい場合は、言語仕様の実際の実装のコンテキストで聞いてください。


19

JavaScriptは、クライアントブラウザによって実行時に解釈されます。ただし、おそらくJavaScriptをJavaクラスファイルにコンパイルするRhino JavaScriptコンパイラと呼ばれるツールがあります。


7
V8などはどうですか?

25
V8にはインタープリターのようなものは一切含まれていません。現在、ほとんどの主要なJSエンジンはJITコンパイラーを備えています。したがって、「JavaScriptが解釈される」と言うのは明らかに間違っています(または、おそらくインタープリター/コンパイラーの定義が間違っています)。

@delnan:V8での洞察に感謝します。したがって、JSは純粋に解釈される言語ではありません。
netemp 2012年

2
Rhino JavaScriptコンパイラ。インタープリター型言語を別のインタープリター型言語で解釈したい場合は、
Trevor Hickey、2014年

1
他の人が言ったように、これは今しばらくの間もはや真実ではありません。はい、中に初期の頃あなたはJavascriptを言うことができると解釈されたが、それは来ている非常に長い道のりをして以来。
John Weisz 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.