Orlok: Reservierte Wörter

Beitrag lesen

Hallo

Ich bin zuletzt über den Artikel Reservierte Wörter in JavaScript gestolpert und musste leider feststellen, dass dort dringender Handlungsbedarf bestand. Denn dieser Artikel bestand eigentlich nur aus einem Einleitungssatz und einer Tabelle, welche die aktuell für die Sprache reservierten Wörter nicht korrekt widergegeben hat und die darüber hinaus teilweise falsche Beschreibungen enthielt.

So waren dort zum Beispiel diverse Wörter aufgelistet, die irgendwann zu Kaiser Wilhelms Zeiten mal den Status des für die Zukunft reservierten Wortes hatten (Future Reserved Words), die diesen Status jedoch in späteren Versionen der Sprache verloren haben. Auch war dort beispielsweise der primitive Wert undefined als reserviertes Wort aufgeführt, bei dem es sich überhaupt nicht um ein solches handelt.

Zudem waren einige Wörter als für die Zukunft reserviert gekennzeichnet, bei denen es sich tatsächlich mittlerweile um Schlüsselwörter der Sprache (Keywords) handelt, und es wurde nicht berücksichtigt, dass nicht wenige der aufgeführten Wörter nur im Strict Mode reserviert sind, im normalen Ausführungsmodus hingegen nicht. Einige aktuell reservierte Wörter fehlten völlig.

Ich habe mich also daran gesetzt und den Artikel mehr oder weniger komplett neu geschrieben, sodass nunmehr nur diejenigen Wörter aufgelistet sind, die nach dem aktuellen Standard der Sprache auch tatsächlich reserviert sind. Zudem wird nun auch berücksichtigt, dass manche der Wörter nur unter bestimmten Umständen als reserviertes Wort angesehen werden und ich habe die Kurzbeschreibungen übernommener Tabellenzeilen überarbeitet, was insbesondere die teilweise wenig glücklichen Verlinkungen innerhalb des Wikis betraf.

Wobei allerdings anzumerken ist, dass die Verlinkung bei einigen reservierten Wörtern gar nicht möglich war, da hierzu im Wiki bislang keine Artikel existieren, so wie bei vier von den Keywords, die im folgenden Codebeispiel verwendet werden. (Dass es nicht fünf sind liegt daran, dass, nachdem Matthias Scharwies eine entsprechende Seite angelegt und auf meinen Forenbeitrag zu dem Thema verlinkt hatte, ich einen provisorischen Artikel zu const geschrieben habe.)

class Parent {
  provideValue ( ) {
    return 'value';
  }
  static logTrue ( ) {
    console.log(true);
  }
}

Parent.logTrue( ); // true

class Child extends Parent {
  getValue ( ) {
    return super.provideValue( );
  }
}

const example = new Child;

console.log(example.getValue( )); // value

Dass static eine Bedeutung hat, es nämlich zur Definition einer eigenen Methode einer Klasse dient, ist dem entsprechenden Artikel des MDN übrigens noch nicht zu entnehmen. ;-)

Jedenfalls, wie auch immer, wer sich dafür interessiert kann ja mal einen Blick auf den neuen Grundlagenartikel zum Thema Reservierte Wörter werfen.

Beste Grüße,

Orlok