2012-03-08 11 views
99

Si può chiamare Javascript un linguaggio puro interpretato? O ha anche qualche sapore compilato? Qualcuno potrebbe guidare alle ragioni di entrambe le cose, qualunque sia la verità.Il codice Javascript è compilato o una lingua interpretata?

+20

Si prega di aggiungere un commento al momento del voto per migliorare la domanda. Grazie. – netemp

+0

Mi chiedo cosa pensi sia un linguaggio 'compilato'. Anche gli exe sono interpretati dal sistema operativo, altrimenti i binari di linux sarebbero intercambiabili con quelli di Windows, ad esempio. – Blindy

+1

@Blindy: stai dicendo che la distinzione tra compilato e interpretato non dovrebbe esserci affatto? – netemp

risposta

44

andare a leggere le risposte a questa domanda

https://softwareengineering.stackexchange.com/questions/138521/is-javascript-interpreted-by-design

La risposta ho accettato è eccellente e dovrebbe aiutare a rispondere alla tua domanda.

Per me personalmente, sono un po 'cauto nell'idea di chiamare un linguaggio interpretato o compilato. È una decisione di implementazione, non parte delle specifiche del linguaggio. Se vuoi parlare di JavaScript compilato o interpretato, chiedilo nel contesto di un'implementazione effettiva della specifica del linguaggio.

12

JavaScript viene interpretato in fase di esecuzione dal browser client. C'è uno strumento chiamato Rhino JavaScript Compiler che presumibilmente compila JavaScript nei file di classe Java, però.

+5

Che dire di V8 e simili? – delnan

+0

@delnan Cosa intendi? –

+13

V8 non ha mai incluso nulla come un interprete, e la maggior parte dei principali motori JS dispone di compilatori JIT ormai. Quindi, dire che "JavaScript è interpretato" è ovviamente sbagliato (o forse la tua definizione di interprete/compilatore è). – delnan