null in JavaScript (null in JavaScript), Lektion, Seite 723168
https://www.purl.org/stefan_ram/pub/null_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Der Wert »null« in JavaScript 

Der Wert »null« steht für ein spezielles leeres Verzeichnis, das unveränderbar ist und keine Einträge enthält, entsprechend wird der Wert »null« manchmal verwendet, um das Fehlen  eines Verzeichnisses darzustellen. (Der Wert »null« unterscheidet sich aber auch von einem normalen Verzeichnis, das nicht gleich »null«, aber leer ist.)

»null« wird gerne Einträgen zugewiesen, deren Wert üblicherweise ein Verzeichnis ist, um das Fehlen  eines Verzeichnisses zu kennzeichnen. Formal gesehen ist »null« zwar ebenfalls ein Verzeichnis, aber man nimmt es kaum als solches wahr, da es nicht wie andere Verzeichnisse verwendet werden kann. Falls ein Eintrag den Wert »null« hat, so existiert sie und ist schon mit einem Wert belegt, aber mit einem Wert, der als Platzhalter kennzeichnet, daß die Information oder die Sache, für welche der Eintrag eigentlich vorgesehen ist, fehlt.

Aussprachehinweis
null nʌl   (nʌəl (sg), ⌊ˈnʌ̮ɫː⌋ (sc), nʌl (d), ˈn əl (n))

Das Literal »null«

Das Literal »null« hat den Wert »null«.

Auswertung
null
null

»null« enthält keine Einträge. Versuchen wir, einen Eintrag aus »null« auszulesen, erhalten wir immer eine Fehlermeldung, egal welcher Name für den Eintrag verwendet wird.

Auswertung
null.a
TypeError: null has no properties

Wir können aber auch keine Einträge in dem Verzeichnis »null« anlegen.

Auswertung
null.a = 2
TypeError: null has no properties

Wenn »null« dort verwendet wird, wo eine Zahl erwartet wird, hat es oft den Wert »0«.

Auswertung
1 + null
1

Wenn »null« dort verwendet wird, wo eine Zeichenfolge erwartet wird, steht es oft für die Zeichenfolge »null«.

Auswertung
"abc" + null
"abcnull"

Der ECMAScript -Typ von »null«

Der Wert »null« hat den Typ „Null“.

Der typeof-Typ von »null«

Der Wert »null« hat den Typ »object«.

Tabelle der behandelten Typen

Typen (Übereinstimmung)

Ausdruck ECMAScript-Typ typeof-Typ

(Zahl) Number number
(Zeichenfolge) String string
undefined Undefined undefined
(Wahrheitswert) Boolean boolean

Typen (Nichtübereinstimming)

Ausdruck ECMAScript-Typ typeof-Typ

null Null object
(Verzeichnis) Object object
(Funktion) Object function

Liste der Bedeutungen (vereinfacht)

NaN „keine Zahl“ (hat aber den Typ »number« laut »typeof«)

null „kein Objekt“ (hat aber den Typ »object« laut »typeof«)

undefined „kein Wert“ (ist aber ein Wert)

Wann nimmt man »undefined« und wann »null«? ⃗

Man könnte einem Eintrag den Wert »undefined« zuweisen, wenn man ihn als nicht genutzt  kennzeichnen will. Es ist aber besser dafür »null« oder »NaN« zu verwenden, weil der Eintrag dann nicht mit einem gar nicht vorhandenen Eintrag  verwechselt werden kann. (Allerdings sollte man einen Eintrag ohnehin nicht mit dem Wert »undefined« vergleichen, wenn man wissen will, ob dieser in einem Verzeichnis existiert, sondern dafür den Operator »in« verwenden, wie schon behandelt wurde.)

Deswegen wird manchmal empfohlen, einem Eintrag als Platzhalter nie  den Wert »undefined« zuzuweisen, sondern höchstens einen der Werte

Es ist etwas verwirrend, daß man in JavaScript  so viele verschieden Möglichkeiten hat, um die Abwesenheit eines „normalen“ Wertes zu kennzeichnen. Man kann die verschiedenen Möglichkeiten so interpretieren:

»undefined« ist technisch gesehen ein Wert, der aber ausdrückt, daß es hier „keinen (normalen) Wert“ gibt.

»null« ist technisch gesehen ein Verzeichnis, das aber ausdrückt, daß es hier „keinen (normales) Verzeichnis“ gibt.

»NaN« ist technisch gesehen eine Zahl, die aber ausdrückt, daß es hier „keine (normale) Zahl“ gibt.

»null« als Objekt ⃗

»null« ist kein Verzeichnis, aber hat den sonst für Verzeichnisse typischen Typ »object«. Wenn wir Werte mit dem Typ »object« als „Objekte“ bezeichnen, können wir »null« als uneigentliches Objekt bezeichnen und es mit den anderen Objekten (den eigentlichen Objekten) zu den Metaobjekten zusammenfassen.

Arten von Metaobjekten
Metaobjekte (Typ »object«)
- uneigentliche Objekte (»null«)
- eigentliche Objekte (nicht »null«)

»null« als Wert ⃗

Wir geben im folgenden die behandelten Arten von Metawerten wieder. Da »null« kein Verzeichnis ist (weil es keine Einträge enthalten kann), fassen wir es dabei aber nicht mit den Verzeichnissen zusammen

Arten von Metawerten
Metawerte
- uneigentliche Werte (»undefined«)
- eigentliche Werte (nicht »undefined«)
- Fundamentalwerte (keine Verzeichnisse)
- Metazahlen (Typ »number«)
- uneigentliche Zahlen (»NaN«)
- eigentliche Zahlen (»isNaN« ergibt »false«)
- Zeichenfolgen (Typ »string«)
- Wahrheitswerte (Typ »boolean«)
- »null« (Typ »object«)
- Verzeichnisse (können Einträge enthalten)
- Verzeichnisse vom Typ »object«
- Verzeichnisse vom Typ »function«

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 stefanram723168 stefan_ram:723168 null in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723168, slrprddef723168, 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/null_javascript