Globale Konstanten in JavaScript im Browser (Globale Konstanten in JavaScript im Browser), Lektion, Seite 722588
https://www.purl.org/stefan_ram/pub/globale_skript_konstanten_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Konstanten in JavaScript  unter Firefox 49 

Konstanten in der Konsole

Falls ein neues Skript mit Konstantendeklarationen in die Konsole eingegeben werden soll, kann es hilfreich sein, zuerst mit F5 davor zu sorgen, daß alle vorherigen Konstantendeklarationen wieder vergessen werden, da es sonst bei der Deklaration schon früher einmal deklarierter Konstanten zu Fehlermeldungen kommen kann.

»print« (und andere Wörter?) in der Konsole

Einige Wörter lassen sich in der Konsole nicht immer als Konstanten definieren, darunter »print«.

Konsolenprotokoll
"use strict";
const alpha = 1;
const print = 2;
console.log( alpha );
console.log( print );
1
function bound ()

»print« scheint ein vordefinierter Name zu sein, der in manchen Fällen nicht umdefiniert werden kann. Es war bisher auch nicht möglich, ihn genau einer bestimmten Umgebung (wie dem globalen Verzeichnis oder der lexikalischen Umgebung) zuzuordnen. (Eventuell wurde »print« in neueren Versionen von Firefox  entfernt, aber dort könnte es trotzdem noch einige solcher Wörter geben.)

Quelle *
https://developer.mozilla.org/en-US/docs/Tools/Web_Console/Helpers

Das Hissen in Quelltexteinheiten

In der Konsole gilt eine Zeile als Quelltexteinheit. (Die „Zeile“ kann mit Umschalt-Eingabe auch auf mehrere Zeilen umbrochen werden.)

Konstatendeklarationen werden in Quelltexteinheiten „gehißt“, das heißt, sie werden vorverlagert. Damit sind sie dann schon vor ihrer Deklaration bekannt, aber sie dürfen erst ab der Stelle ihrer Deklaration verwendet werden.

Konsolenprotokoll
a = 5
Konsolenprotokoll
a
5
Konsolenprotokoll
a; const a = 2
ReferenceError: can't access lexical declaration `a' before initialization

In der QET (QuelltExteinheiE) »a; const a = 2« wird »a« bereits von Anfang an als Konstante angesehen, obwohl die Deklaration erst später folgt. »a« darf aber erst nach der Deklaration verwendet werden.

Konsolenprotokoll
a
undefined

Durch den Fehler in der vorigen QET wurde die Zuweisung eines Wertes an »a« nicht vollzogen, da die Ausführung der QET nach dem Fehler abgebrochen wurde.

Der Versuch, »a« erneut zu deklarieren, zeigt aber, daß »a« aufgrund des Hissens schon als deklariert gilt, es hat aber den Wert «undefined».

Konsolenprotokoll
const a = 3 
SyntaxError: redeclaration of const a

Konstanten in Web-Seiten

Wenn eine Konstante in einem script-Element eines Programmes definiert wird, so ist sie auch in folgenden script-Elementen vorhanden, wie das folgende Programm zeigt, da alle script-Elemente Quelltexteinheiten eines einzigen Skripts sind.

Programm

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head><meta charset="UTF-8" />
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
<title>Main</title><style type="text/css">

</style></head><body>

<pre><code><script>/*<![CDATA[*/

const x = 8;

/*]]>*/</script></head><body>
<h1>Globale Konstanten</h1>
<pre><code><script>/*<![CDATA[*/"use strict";

alert( x );

/*]]>*/</script></code></pre></body></html>

Ausgabe
.-----------------------.
| |
| 8 |
| |
| .----. |
| | OK | |
| '----' |
'-----------------------'

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722588 stefan_ram:722588 Globale Konstanten in JavaScript im Browser Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722588, slrprddef722588, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/globale_skript_konstanten_javascript