JavaScript unterscheidet verschiedene Datentypen, auch wenn man diese nicht wie in anderen Programmiersprachen explizit angeben muss. Weiterhin ist der Datentyp einer Variablen in JavaScript dynamisch: er kann also während der Veränderung gemäß dem Inhalt geändert werden. Wie man die Datentyp einer bestimmten Variablen herausfinden kann findest du hier.

Datentypen in Javascript

JavaScript unterscheidet 8 verschiedene Datentypen. Eine ausführlichere Übersicht über alle Datentypen findest du hier. Eine kurze Übersicht findest du in der folgenden Tabelle:

DatentypDeutschBeschreibung
UndefinedundefiniertEin Wert, der angibt, dass eine Variable keinen Wert zugewiesen hat.
NullleerEin Wert, der angibt, dass eine Variable bewusst leer ist oder nicht vorhanden ist.
BooleanBoolescher WertEin Datentyp mit nur zwei möglichen Werten: true (wahr) und false (falsch).
NumberZahlEine Zahl, entweder ganzzahlig oder mit Dezimalstellen.
BigintGroße ZahlEine spezielle Art von Zahl, die verwendet wird, wenn Zahlen größer als 2^53 sind.
StringZeichenketteEine Folge von Zeichen, die als Text interpretiert wird.
SymbolSymbolEin Datentyp, der eindeutige Bezeichner für Objekte bereitstellt.
ObjectObjektin Datentyp, der Daten und Funktionen in einer Struktur zusammenfasst (z.B. ein Array).

Datentyp mit JavaScript bestimmen

typeof ist ein Operator in JavaScript, der den Datentyp eines Werts oder einer Variable zurückgibt.

Zum Beispiel, wenn man typeof 42 aufruft, gibt der Operator den String „number“ zurück, weil 42 eine Zahl ist. Wenn man typeof "Hello" aufruft, gibt der Operator den String „string“ zurück, weil „Hello“ eine Zeichenkette ist.

Die Syntax für typeof ist typeof operand, wobei operand der Wert oder die Variable ist, dessen Datentyp man bestimmen möchte.

function GetDataType(value) {
    var dataType = typeof value;
    console.log("Datatype: " + dataType);
}Code-Sprache: JavaScript (javascript)
GetDataType(123);
// output: "Datatype: number"

GetDataType("Hello World!");
// output: "Datatype: string"

GetDataType(true);
// output: "Datatype: boolean"

GetDataType([1,2,3]);
// output: "Datatype: object"

GetDataType({lock: "key"});
// output: "Datatype: object"

GetDataType(null);
// output: "Datatype: object"

GetDataType(undefined);
// output: "Datatype: undefined"

GetDataType(Symbol("foo"));
// output: "Datatype: symbol"

GetDataType(function add(a, b) {return a + b});
// output: "Datatype: function"Code-Sprache: JavaScript (javascript)

Bestimmen ob eine Variable einen bestimmen Datentyp aufweist

Mit dem typeof-Operator ist es also recht einfach den Datentyp eines Wertes auszugeben. Entsprechend einfach kann dieser auch genutzt werden, um auf einen bestimmten Datentyp zu prüfen

function isDataType(data, dataType) {
    return typeof data === dataType;
}Code-Sprache: JavaScript (javascript)
console.log(isDataType("Hello World!", "string")); 
// output: true

console.log(isDataType(42, "number")); 
// output: true

console.log(isDataType(true, "string"));
// output: falseCode-Sprache: JavaScript (javascript)

Weitere spezifischere Beispiele findest du unten.

JavaScript (JS): Prüfen ob eine Variable ein String ist

function isString(textdata) {
    if (typeof textdata === "string") {
        console.log("Is a String!")
    } else {
        console.log("Not a String!")
    }
}Code-Sprache: JavaScript (javascript)

Dabei ist zu beachten, dass typeof nicht den Inhalt des Strings überprüft, nur den Datentyp. Daher gibt isString("42"); aus, dass es sich um einen String handelt, und nicht um eine Zahl. Wie man einen String in eine Zahl konvertieren kann, findest du hier.

isString("Blaaaaa");
// output: "Is a String!"

isString(42);
// output: "Not a String!"

isString("42");
// output: "Is a String!"Code-Sprache: JavaScript (javascript)

JavaScript (JS): Prüfen ob eine Variable eine Zahl ist

function isNumber(number) {
    if (typeof number === "number") {
        console.log("Is a Number!")
    } else {
        console.log("Not a Number!")
    }
}Code-Sprache: JavaScript (javascript)
isNumber("Blaaaaa");
// output: "Not a Number!"

isNumber(42);
// output: "Is a Number!"

isNumber("42");
// output: "Not a Number!"Code-Sprache: JavaScript (javascript)

Statt des typeof-Operators kann auch die isNaN-Funktion verwendet werden. Dann wird allerdings nicht darauf geprüft ob es sich um eine Zahl (Datentyp) handelt, sondern um eine Zahl im mathematischen Sinn. Einen Beitrag dazu findest du hier.

JavaScript (JS): Prüfen ob eine Variable null ist

Wie oben im Beispiel deutlich wird eignet sich der typeof-Operator nicht dazu zu Prüfen ob eine Variable den Datentyp null hat (typeof gibt object aus). Stattdessen muss man einfach „händisch“ prüfen ob der Wert einer Variablen gleich null beträgt:

function isNull(variable) {
    if (variable === null) {
        console.log("Var is Null!")
    } else {
        console.log("Var not Null!")
    }
}Code-Sprache: JavaScript (javascript)
isNull(null);
// output: "Var is Null!"

isNull("42");
// output: "Var not Null!"

var x  = null;
isNull(x);
// output: "Var is Null!"Code-Sprache: JavaScript (javascript)