Stefan Muenz: Verwendung von Konstanten?

Beitrag lesen

Hallo Dominik

Kannst du mir nochmal genauer erklären, was das heißt? Und kannst Du mir sagen, ob JS eine rein interpretierende Sparche ist, die also überhaupt nichts vorübersetzt, nur Zeile für Zeile vorgeht?

Naja, ich nehme an, du kennst z.B. C oder Pascal oder so was, wenn du nach Konstanten fragst. In C gibt es z.B. Variablentypen wie int oder float fuer Zahlen oder char fuer eine 1-Byte-Zahl bzw. ein Zeichensatz-Zeichen und char* als Zeiger auf eine Zeichenkette. Und eben auch const fuer Variablen, die nicht mehr veraendert werden koennen. Solche Dinge gibt es in JavaScript nicht. Du kannst eine Variable definieren, aber du kannst ihr zunaechst mal nicht sagen, ob der Inhalt eine Zahl, ein Zeichen oder eine Zeichenkette sein soll. Nur durch die Art der Initialisierung, etwa x=1 oder x="1", kannst du vorgeben, ob die Variable als Zahl oder Zeichenkette zu verstehen ist. Und im Verlauf der JavaScript-Prozedur kannst du mit Hilfe spezieller Funktionen wie eval(Wert) oder str(Wert) erwzingen, dass ein Wert auf jeden Fall als Zahl oder Zeichenkette interpretiert werden soll. Neben Zahlen und Zeichenketten kennt JavaScript auch noch Arrays und Objekte, aber Konstanten im Sinne von const nicht.

Wie JavaScript genau interpretiert wird, kann ich dir auch nicht sagen. Es scheint mir aber schon so, als ob der JavaScript-Interpreter moderner Browser immer erst das ganze Script vor der Ausfuehrung mal probeweise checkt, um nach Syntax-Problemen zu suchen. Wenn die Syntax OK ist, legt er dann einfach zeilenweise los. Logische Laufzeitfehler oder andere Probleme wie Stack-Overflow in Folge hauefiger rekursiver Aufrufe erkennen die heutigen JS-Interpreter meiner Erfahrung nach leider erst, wenn das Malheur passiert ist, nicht vorher (das sind Dinge, da ist z.B. der Perl-Interpreter um Lichtjahre weiter).

viele Gruesse
  Stefan Muenz