Hoisting in Javascript === Compilare?

8

Mi sono imbattuto in una prospettiva interessante durante un recente colloquio di lavoro.

Il sollevamento in Javascript riguarda lo spostamento delle dichiarazioni delle variabili e la dichiarazione delle funzioni nella parte superiore dello script. Possiamo chiamare questa fase come compilazione ?

Sono a conoscenza del fatto che l'interprete Javascript ha 2 passaggi sullo script di input, dove nel primo passaggio esegue il sollevamento e il secondo passaggio esegue effettivamente lo script. Avendo saputo che Javascript è un linguaggio interpretato, questa domanda mi ha un po 'confuso.

    
posta Rahul Desai 13.11.2015 - 01:58
fonte

1 risposta

17

No. Il sollevamento non è una compilazione.

Il sollevamento è un concetto creato dagli sviluppatori per spiegare cosa succede durante la compilazione quando le variabili e le dichiarazioni di funzione vengono spostate nella parte superiore del loro ambito di contenimento.

La compilazione è ciò che accade quando il tuo codice Javascript viene trasformato in un'altra rappresentazione (di solito una sorta di codice eseguibile), da eseguire ora o più tardi. Il motore JavaScript V8 di Chrome ha in realtà due compilatori; uno per creare codice eseguibile veloce e sporco ora, l'altro per creare codice ottimizzato in seguito.

I linguaggi di programmazione non sono definiti come lingue "compilate" o "interpretate". Piuttosto, le lingue sono interpretate o compilate in base alle esigenze.

Ulteriori letture
Hoisting in Javascript
Funzionamento del motore V8

    
risposta data 13.11.2015 - 02:13
fonte

Leggi altre domande sui tag