EMZETT.
Login

Kurz: Jeder Wert in JavaScript hat einen Typ. Es gibt sieben einfache (primitive) Typen und den Typ Objekt.

Teil des Kurses JavaScript

Kapitel 4 von 40 im Kurs JavaScript. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Jeder Wert in JavaScript hat einen Typ. Es gibt sieben einfache (primitive) Typen und den Typ Objekt.

TypBeispielBedeutung
number42, 3.14alle Zahlen (ganz und Komma)
bigint12345678901234567890nbeliebig große ganze Zahlen
string"Hallo"Text
booleantrue, falseWahrheitswert
undefinedundefined”kein Wert zugewiesen”
nullnull”bewusst leer”
symbolSymbol("id")eindeutiger Bezeichner
object{}, []Objekte, Arrays, Funktionen

typeof

Mit typeof fragst du den Typ ab:

console.log(typeof 42);
console.log(typeof 3.14);
console.log(typeof "Text");
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);        // Historischer Fehler: "object"
console.log(typeof [1, 2]);      // Arrays sind Objekte
console.log(typeof {a: 1});
console.log(typeof function () {});
console.log(typeof 10n);

Ausgabe:

number
number
string
boolean
undefined
object
object
object
function
bigint

Hinweis

typeof null ergibt "object": ein Fehler aus den Anfangstagen, der aus Kompatibilitätsgründen bleibt. Ein Array erkennst du mit Array.isArray().

Umwandlung (Typkonvertierung)

console.log(Number("42"));       // 42
console.log(Number("abc"));      // NaN
console.log(parseInt("12px"));   // 12
console.log(parseFloat("3.5kg"));// 3.5
console.log(String(123));        // "123"
console.log((255).toString(16)); // "ff"
console.log(Boolean(""), Boolean("a"), Boolean(0), Boolean(5));

Ausgabe:

42
NaN
12
3.5
123
ff
false true false true

Truthy und Falsy

In Bedingungen werden Werte als wahr oder falsch gewertet. Falsy sind genau: false, 0, -0, 0n, "", null, undefined und NaN. Alles andere ist truthy, auch "0", [] und {}.

const werte = [0, "", "0", [], {}, null, undefined, NaN, "text", -1];
for (const w of werte) {
  console.log(JSON.stringify(w), w ? "truthy" : "falsy");
}

Ausgabe:

0 falsy
"" falsy
"0" truthy
[] truthy
{} truthy
null falsy
undefined falsy
null falsy
"text" truthy
-1 truthy

Automatische Umwandlung

Bei Operatoren wandelt JavaScript Typen oft von selbst um. Das ist bequem, aber tückisch:

console.log("5" + 3);     // "53": + verbindet Text
console.log("5" - 3);     // 2: - rechnet
console.log("5" * "2");   // 10
console.log(true + 1);    // 2
console.log([] + []);     // ""

Ausgabe:

53
2
10
2
 

Merke

  • Primitive Typen: number, bigint, string, boolean, undefined, null, symbol
  • typeof liefert den Typ; typeof null ist "object"
  • Falsy sind: false, 0, "", null, undefined, NaN (und -0, 0n)
  • Number(), String(), Boolean() wandeln explizit um
  • "5" + 3 ergibt "53", "5" - 3 ergibt 2

Übungsaufgabe

Prüfe mit typeof die Typen von "7", 7, [7] und null. Wandle "7" mit Number in eine Zahl um und addiere 3.

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: Variablen: let, const und var

Weiter: Zahlen und das Math-Objekt

Alle Kapitel: JavaScript im Überblick