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.
Inhalt
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:
Datentyp | Deutsch | Beschreibung |
---|---|---|
Undefined | undefiniert | Ein Wert, der angibt, dass eine Variable keinen Wert zugewiesen hat. |
Null | leer | Ein Wert, der angibt, dass eine Variable bewusst leer ist oder nicht vorhanden ist. |
Boolean | Boolescher Wert | Ein Datentyp mit nur zwei möglichen Werten: true (wahr) und false (falsch). |
Number | Zahl | Eine Zahl, entweder ganzzahlig oder mit Dezimalstellen. |
Bigint | Große Zahl | Eine spezielle Art von Zahl, die verwendet wird, wenn Zahlen größer als 2^53 sind. |
String | Zeichenkette | Eine Folge von Zeichen, die als Text interpretiert wird. |
Symbol | Symbol | Ein Datentyp, der eindeutige Bezeichner für Objekte bereitstellt. |
Object | Objekt | in 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: false
Code-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)