Gli errori della console del browser 'errori del compilatore', 'errori di runtime' o nessuno dei due?

-1

Stavo provando a comunicare con un collega su un errore JavaScript di cui ero stato informato nella finestra della console del mio browser quando ho capito che non ero sicuro se dovessi fare riferimento a questo come un errore del compilatore o un errore di runtime ; soprattutto se il suddetto errore si verifica solo quando, diciamo, si fa clic su un determinato pulsante. Quindi sospetto che un tale evento sia specificamente un errore di runtime, ma non ne sono sicuro.

Forse questo entra nella semantica e non c'è una definizione formale, quindi fammelo sapere e prenderò questo post.

Modifica

Questo è un post meraviglioso che fornisce alcune informazioni su se JS è compilato o interpretato:

JavaScript è interpretato dal design?

    
posta 8protons 06.04.2016 - 20:15
fonte

3 risposte

5

Se per errore del compilatore intendi errori di sintassi allora sì. Console fornisce anche l'errore di runtime come, ad esempio, quando si tenta di accedere a una proprietà non definita di alcuni oggetti nel runtime.

JavaScript è un linguaggio interpretato quindi non possiamo chiamarli errori del compilatore ma parsing errors .

La console del browser ci mostra quanto segue:

  • Errori di sintassi al momento in cui lo script viene caricato e analizzato.
  • Errori di runtime (accesso a una proprietà non definita di qualche oggetto)
  • Altri messaggi di avviso (un metodo deprecato o avviso di proprietà)
  • Messaggi della console ( console.log() , console.warn() , console.error() )
  • Messaggi di errore con traccia dello stack ( Error() )
risposta data 08.04.2016 - 06:41
fonte
2

Probabilmente stai cercando " Errore di sintassi ". L'articolo di Wikipedia collegato dice questo:

For compiled languages syntax errors occur strictly at compile-time. A program will not compile until all syntax errors are corrected. For interpreted languages, however, not all syntax errors can be reliably detected until run-time, and it is not necessarily simple to differentiate a syntax error from a semantic error; many don't try at all.

    
risposta data 06.04.2016 - 20:32
fonte
0

Poiché JavaScript è un linguaggio di scripting interpretato altamente dinamico, il termine "errore del compilatore" non ha molto significato. In realtà, applicherei questo termine solo a un errore generato nell'analisi: se qualcosa non è sintatticamente valido, si tratta sicuramente di un errore di compilazione. Ma al di là di questo, una volta che l'analisi è andata a buon fine, l'interprete inizia essenzialmente a cercare di interpretarlo e, con un sistema di battitura molto dinamico e debole, non passa attraverso molti controlli di correttezza comuni in altre lingue prima di passare a interpretazione, invece semplicemente cercando di trovare modi per cavarsela in fase di esecuzione, quindi praticamente qualsiasi cosa dopo di ciò dovrebbe essere considerata un errore di runtime, anche se avrebbe dovuto essere un errore di compilazione in un linguaggio più rigoroso.

    
risposta data 06.04.2016 - 20:20
fonte

Leggi altre domande sui tag