JavaScript/Datentyp

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

In JavaScript unterscheidet man grundsätzlich zwischen primitiven Typen und Objekt-Typen.

Primitive Typen sind:

  • Boolean, Wahrheitswert, kann wahr (true) oder falsch (false) sein
  • String, eine Zeichenkette
  • Number, eine Zahl

Objekt-Typen unterscheiden sich von primitiven Typen dadurch, dass sie nicht nur einen Wert darstellen, sondern eine Sammlung von beliebiger Werten und Funktionen bilden. Die von JavaScript vordefinierte Objekttypen finden sich hier, es ist aber auch möglich, eigene Objekte zu erzeugen.

Spezielle Objekt-Typen sind

  • Function, eine Aneinanderreihung von Anweisungen. Nur auf Funktionen kann man den ()-Operator anwenden, der die Anweisungen in der Funktion ausführt. Ansonsten sind sie aber Objekte wie alle anderen auch, was bedeutet, dass man sie in Variablen speichern, sie als Parameter übergeben und ihnen Eigenschaften zuweisen kann.
  • Array, eine Sammlung von Werten, auf die mit einem ganzzahligen Index zugegriffen werden kann. Arrays haben eine length Eigenschaft, die automatisch den Wert des höchsten genutzten Index plus eins darstellt, ansonsten verhalten sie sich wie normale Objekte.

Eine weitere spezielle Art von Objekten sind die sogenannten Wrapper für primitive Typen. Da man primitiven Typen keine Eigenschaften und Methoden zuordnen kann, es aber trotzdem möglich sein soll, sie so zu verwenden als ob sie Methoden besitzen, erzeugt JavaScript in solchen Fällen ein temporäres Objekt, auf dem dann die entsprechende Methode aufgerufen wird. Dazu dienen die vordefinierten Objekt-Typen Boolean, Number und String. Es ist aber zu beachten, dass diese Wrapper-Typen nicht mit den primitiven Typen identisch sind. Bei Number und String fällt das nicht so sehr auf, weil JavaScript hier automatische Konvertierungen ausführt. 3 + new Number(4) ergibt den primitiven Wert 7, und "abc" + new String("def") den primitiven String "abcdef", aber bei Boolean funktioniert das nicht. true && new Boolean(false) ergibt nicht den primitiven Wert false, sondern ein Boolean-Wrapperobjekt, das den primitiven Wert false enthält und bei unaufmerksamer Nutzung wie true behandelt wird. Warum man einen Wrapper bekommt, findet sich bei der Beschreibung der logischen Operatoren. Warum das Ergebnis dieser && Operation dann nicht wie false behandelt wird, steht unter Boolean.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML