Home
Navigation
Impressum
Coder Welten - Programmierung und Optimierung
Coder Welten
 
 

 

 

Werte und Datentypen von und in JavaScript

Eine kleine Einführung in die Syntax - Teil III

Übersicht / Seite:

  1. Syntax von JavaScript (eine kleine Einführung in die Schreibweise)
  2. Variablen (lokale und globale Variablen deklarieren und definieren)
  3. Datentypen (Ermittlung und Umwandlung von Datentypen)
  4. Operatoren (Ausdrücke, Operanden und spezielle Operatoren)

Werte und Datentypen

Bei der Deklaration und Definition von Variablen wurden bereits verschiedene Datentypen vorgestellt, ebenso wie mit typeof der Typ des Wertes einer Variable ermittelt werden kann. Im Gegensatz zu einer Programmiersprache wie C, geht JavaScript recht locker mit den unterschiedlichen Datentypen um. So erfolgt die Zuweisung eines Datentyps bei der Initialisierung einer Variablen automatisch bzw. wird durch die Syntax vorgeben. Weiterhin kann der Datentyp des Wertes einer Variablen relativ leicht verändert werden, insofern es die Abarbeitung eines Scripts oder die Programmausführung verlangt.

Um es etwas einfacher auszudrücken, der Typ einer Variablen bestimmt sich in JavaScript nicht nach dem Typ der Variablen, mit dem diese deklariert wurde, sondern die Variablen nimmt den Typ des Wertes an. Doch welche Daten gehören in JavaScript zu welchen Datentypen?

Je nach Einteilung wird zwischen primitiven Datentypen und referenzierten Datentypen unterschieden, wobei sich die Einteilungen etwas unterscheiden. So erfolgt im MSDN (Microsoft Developer Network) zum Beispiel eine Unterteilung der primitiven Datentypen in primäre und spezielle Datentypen, wobei zu letzten die Datentypen Null und Undefined gerechnet werden. Die folgende Einteilung entspricht hingegen in etwa der Einteilung, wie sie im MDN (Mozilla Developer Network) zu finden ist (Stand: 2012).

Primitive Datentypen

Zu den primitiven Datentypen gehören String, Number, Boolean, Null und Undefined. Es sei angemerkt, auch wenn die Datentypen im Text auf dieser Seite als Substantive behandelt und somit großgeschrieben wurden, bei der Verwendung ist auf Kleinschreibung zu achten.

String: Der Datentyp String kann alle Zeichen, wie Buchstaben des Alphabets, Ziffern, Satzzeichen oder sonstige Zeichen enthalten, aus denen eine Zeichenkette gebildet werden kann. Ein String ist bei der Zuweisung oder Ausgabe mit einfachen oder doppelten Anführungszeichen zu begrenzen. Kommen innerhalb des Strings Zeichen vor, die in JavaScript eine besondere Bedeutung besitzen, müssen diese durch einen Backslash maskiert werden, um keinen Fehler beim Interpreter auszulösen.

Number: Zum Datentyp gehören numerische Werte wie ganze Zahlen, die keine Nachkommastellen besitzen, doch ebenso Gleitkommazahlen. Weiterhin ist eine Verwendung von Exponenten möglich. Ein Beispiel:

function BSPJS9a() { 

    var extyp = 2e+3;    // 2000
    alert("2 x 10 x 10 x 10 = " + extyp);
}

» Beispiel 9.1 «

Boolean: Zu diesem Datentyp gehören nur die beiden booleschen Werte true und false, die für wahr und unwahr bzw. für wahr und falsch stehen. Auf diesen beiden booleschen Werten beruhen praktisch alle if-Statements.

Null: Beim Datentyp Null handelt es sich um ein Objekt mit dem Wert null. Dieser Datentyp weist auf einen leeren Wert hin. Wird einer bereits deklarierten und definierten Variablen der Wert null zugewiesen, bleibt die Variable für die weitere Verwendung erhalten. Unter anderem lassen sich so fließende Programmabläufe starten und stoppen.

Undefined: Dieser Datentyp weist darauf hin, dass mit einer Variablen gearbeitet, die nur deklariert aber nicht definiert wurde oder etwas nicht Vorhandenes abgefragt wird, wie eine nicht vorhandene Eigenschaft eines Objektes.

Einige Beispiele zu den bisher erwähnten Datentypen:

function BSPJS9b() {

    var typ1 = "Ich bin ein String!";
    var typ2 = 432.02;
    var typ3 = false;
    var typ4 = null;
    var typ5, typ;

    typ  = "typ1 = " + typeof(typ1) + "\n";
    typ += "typ2 = " + typeof(typ2) + "\n";
    typ += "typ3 = " + typeof(typ3) + "\n";
    typ += "typ4 = " + typeof(typ4) + "\n";
    typ += "typ5 = " + typeof(typ5) + "\n";

    alert(typ);
}

/* Ausgabe:

typ1 = string
typ2 = number
typ3 = boolean
typ4 = object
typ5 = undefined

*/

» Beispiel 9.2 «

Referenzierte Datentypen

Zu den referenzierten Datentypen gehört der Datentyp Object und der Datentyp Function. Ein Einsteiger, der bereits über Grundkenntnisse in HTML verfügt und weiß, wie ein Image in dem Quelltext einer HTML-Datei eingebunden wird, sollte sich bewusst sein, dass er nicht die eigentliche Image-Datei einbindet, sondern nur eine Referenz auf die Image-Datei innerhalb eines Img-Tags. Die referenzierte Image-Datei verbleibt hingegen dort, wo sie auf dem Server abgelegt wurde. Ähnlich verhält sich auch JavaScript, wenn es sich um Daten von Funktionen und Objekten handelt.

Object: Wird ein Objekt als Wert einer Variablen zugewiesen, so enthält der Wert der Variablen nicht das komplette Objekt mit all seinen Eigenschaften, sondern nur eine Referenz auf das Objekt. Zu den Objekten zählen in JavaScript so ziemlich alle Elemente, die über Eigenschaften und Funktionen verfügen, wie das Browserfenster (window) oder das eigentliche HTML-Dokument, welches mit document angesprochenen werden kann.

Function: Wie bei den Objekten, so werden auch Funktionen referenziert. Wobei jedoch objektgebundene Funktionen, mit denen bestimmte Eigenschaften eines Objektes angesprochen werden können, als Methoden bezeichnet werden und zum Datentyp Object gehören.

Drei Beispiele zu den Datentypen Object und Function:

function BSPJS9c() {

    var typ1 = function TSET() {var tue = "nichts"};
    var typ2 = new Array("Lisa","Bine","Erika");
    var typ3 = document.getElementsByTagName("img")[0];
    var typ;

    typ  = "typ1 = " + typeof(typ1) + " - "+ typ1 + "\n";
    typ += "typ2 = " + typeof(typ2) + " - "+ typ2 + "\n";		
    typ += "typ3 = " + typeof(typ3) + " - "+ typ3 + "\n";

    alert(typ);
}

/* Ausgabe:

typ1 = function - function TSET() {var tue = "nichts"; }
typ2 = object - Lisa,Bine,Erika
typ3 = object - [object HTMLImageElement]

*/

» Beispiel 9.3 «

Umwandlung von Datentypen

Wie bereits weiter oben erwähnt, bei der Initialisierung von Variablen mit einem Anfangswert nimmt die jeweilige Variable automatisch den Typ des Wertes an. Im Gegensatz zu vielen anderen Programmiersprachen, muss bei der Deklaration einer Variablen selbiger kein Datentyp zugewiesen werden. Die Variable bleibt auch nicht an einem Typ gebunden, sondern kann bei der Abarbeitung des Codes mit einem neuen Wert einen anderen Typ annehmen. Je nach Anforderungen kann ebenfalls der Wert erhalten bleiben und nur der Datentyp geändert werden.

Zugewiesene Datentypen lassen sich oftmals relativ einfach umwandeln, weiterhin stellt JavaScript einige Funktionen zur Typumwandlung zur Verfügung.

Einige Beispiele:

function BSPJS9d() { 

    var typstr1 = "1034";
    var typstr2 = typstr1 *1;               // Umwandlung String in Number

    var typnum1 = 999;
    var typnum2 = typnum1 +" und 1 Hase";   // Umwandlung Number in String

    var typnum3 = 1224;
    var typnum4 = String(typnum3);          // Umwandlung Number in String
    var typnum5 = new String(typnum3);      // Umwandlung in Object (String-Object)

    var typstr3 = "1644.02 und 2 Hasen";
    var typstr4 = parseFloat(typstr3);      // Umwandlung String in Number (Fließkommazahl)
    var typstr5 = parseInt(typstr3, 10);    // Umwandlung String in Number (Integer-Wert)
    var typ;

    typ  = "typstr1 = " + typeof(typstr1) +" - "+ typstr1 + "\n";
    typ += "typstr2 = " + typeof(typstr2) +" - "+ typstr2 + "\n";
    typ += "\n";
    typ += "typnum1 = " + typeof(typnum1) +" - "+ typnum1 + "\n";
    typ += "typnum2 = " + typeof(typnum2) +" - "+ typnum2 + "\n";
    typ += "\n";
    typ += "typnum4 = " + typeof(typnum4) +" - "+ typnum4 + "\n";
    typ += "typnum5 = " + typeof(typnum5) +" - "+ typnum5 + "\n";
    typ += "\n";
    typ += "typstr4 = " + typeof(typstr4) +" - "+ typstr4 + "\n";
    typ += "typstr5 = " + typeof(typstr5) +" - "+ typstr5 + "\n";

    alert(typ);
}

/* Ausgabe:

typstr1 = string - 1034
typstr2 = number - 1034

typnum1 = number - 999
typnum2 = string - 999 und 1 Hase

typnum4 = string - 1224
typnum5 = object - 1224

typstr4 = number - 1644.02
typstr5 = number - 1644

*/

» Beispiel 9.4 «

Anmerkungen zu den Beispielen aus 9.4:

1. Im ersten Beispiel wird der String "1034" in einen numerischen Wert umgewandelt, in dem er einfach mit 1 multipliziert wird.

2. Im zweiten Beispiel wird die Zahl 999 in einen String umgewandelt, in dem die Zahl mit einem String verbunden wird.

3. Im dritten Beispiel erfolgt eine Typumwandlung von Number in String mit der JavaScript Funktion String(), die sowohl eine Umwandlung in einen String, als auch in ein String-Objekt ermöglicht

4. Im vierten Beispiel erfolgt eine Typumwandlung eines Strings mit den JavaScript Funktionen parseFloat() und parseInt(). Die Funktion parseFloat wandelt eine Zahl, die sich am Anfang eines String befindet, in eine Zahl mit Kommastellen um, parseInt wandelt einen Wert hingegen nur in einen ganzzahligen Wert um. Der zweite Parameter (radix), im Beispiel eine 10, ist optional und gibt das zu verwendende Zahlensystem an, wobei die 10 für das Zehnersystem bzw. Dezimalsystem steht.

Variablen « zurück / weiter » Operatoren

 
Navigation

Einstieg in JavaScript

 


Listings & Tutorials

 

Weitere Themen

Übersicht

 


Copyright © Verlag Horst Müller - Stendal - 2006 - Impressum - Datenschutz - Nutzungsbedingungen