Datentypen / Operatoren
Dauer: 20 Minuten
Themen:
- JavaScript hat wenige relevante Datentypen
- Operatoren funktionieren wie in C, C++, C# und Java
Datentypen
Folgende Datentypen in JavaScript sind hier relevant:
number
string
boolean
object
undefined
null
number
Der Typ number
umfasst ganze Zahlen (z.B. 123
) und
Gleitkommazahlen (z.B. 3.1415
). Es gibt also keinen
besonderen Datentyp für Gleitkommazahlen.
string
Zeichenketten bzw. Strings werden mit "
, '
oder `
umgeben. Hier werden Strings hauptsächlich mit einfachen
Anführungszeichen angegeben (also '
). Mit Template-Strings,
die mit `
umgeben werden, lassen sich Zeichenketten
dynamisch durch Interpolation von JavaScript-Ausdrücken erstellen.
Dabei werden die interpolierten Ausdrücke in
${ ... }
angegeben:
const firstName = 'John';
const lastName = 'Doe';
console.log(`Full name: ${firstName} ${lastName}`);
Dies ist manchmal eleganter oder kompakter als die String-Konkatenation mit +
.
boolean
Die Wahrheitswerte true
und false
sind
die einzigen möglichen Werte von boolean
.
Unterschied zu Python: die Werte werden klein geschrieben (true
,false
).
object
Zu object
zählen Objekte, Arrays und Funktionen.
Dazu folgen eigene Lektionen.
null
null
ist ein Nullwert, der nüztlich ist, um nicht vorhandene oder
noch nicht gesetzte Werte auszudrücken. Dazu ein Beispiel:
// deklariere Objekt mit lastName = null (sozusagen unbekannt)
const joe = { firstName: 'John', lastName: null };
// ... später erhält die Eigenschaft lastName einen konkreten Wert:
joe.lastName = 'Smith';
undefined
undefined
ist der Wert von nicht initialisierten Variablen und der Rückgabewert
von Funktionen ohne return
-Anweisung. Außerdem ergibt der Zugriff auf nicht vorhandene Eigenschaften
von Objekten den Wert undefined
. Im Code sollte undefined
nicht in Zuweisungen verwendet werden,
statt dessen kann null
für Nullwerte eingesetzt werden, um z.B. auszudrücken, dass eine bestimmte
Eigenschaft eines Objektes (noch) keinen Wert hat (siehe Beispiel zu null
oben).
Operatoren
In JavaScript haben wir die bekannten arithmetischen und logischen Operatoren sowie Vergleiche:
// arithmetische Berechnungen
50.0 - 10 + ((300 / 40) % 8);
// Inkrement/Dekrement
let i = 1;
i++;
--i; // nun hat i wieder den Wert 1
// Zusammengesetze Zuweisungen
i += 10;
// String-Konkatenation
console.log('Hallo ' + 'Leute!');
// Vergleiche
3 <= 4; // true
3 > 4; // false
// logische Operatoren
3 <= 4 && 4 > 3; // true
3 >= 4 && 4 > 3; // false
3 >= 4 || 4 > 3; // true
3 >= 4 || 4 < 3; // false
!(3 >= 4 || 4 < 3); // true
Es gibt zwei Arten, in JavaScript Gleichheit von Ausdrücken zu
überprüfen: ==
und ===
beziehungsweise !=
und !===
für
Ungleichheit. Empfohlen wird der Einsatz des „strikten“
Vergleichs mit ===
(bzw. !==
), denn die „lose“ Gleichheit
==
(bzw. !=
) kann beim Vergleich von Werten unterschiedlichen
Datentyps zu unerwarteten Ergebnissen führen:
// schwacher Vergleich liefert true
1 == '1'; // --> true
// starker Vergleich liefert wie erwartet false
1 === '1'; // --> false