2.1 Variablen in JavaScript
JavaScript ist eine flexible und dynamische Programmiersprache, die verschiedene Möglichkeiten bietet, Variablen zu deklarieren und mit Datentypen zu arbeiten. In dieser Vorlesung betrachten wir drei Hauptmethoden zur Deklaration von Variablen (var
, let
, const
) und die grundlegenden primitiven Datentypen in JavaScript.
Variablen in JavaScript
JavaScript ist eine Sprache mit dynamischer Typisierung. Variablen haben keinen festen Typ. Jeder Variable kann jederzeit ein beliebiger Wert zugewiesen werden (es gibt aber ein paar Feinheiten).
Um eine Variable zu erstellen, sollte man eine Konstruktion dieser Art schreiben:
var name;
Einer Variablen kann sofort ein Wert zugewiesen werden:
var name = value;
Aber tatsächlich gibt es in JavaScript ganze drei Möglichkeiten, Variablen zu erstellen. Lassen Sie uns diese nun im Detail besprechen.
Der Operator var
Variablen, die mit var
deklariert werden, haben einen funktionalen oder globalen Gültigkeitsbereich. Sie sind dem "Hoisting" unterworfen, was bedeutet, dass ihre Deklaration beim Ausführen des Codes an den Anfang ihres Gültigkeitsbereichs verschoben wird.
Beispiel:
console.log(x); // undefined
var x = 10;
console.log(x); // 10
In diesem Beispiel wird die Variable x
an den Anfang ihres Gültigkeitsbereichs gehoben, daher gibt der erste console.log
undefined
aus.
Mit anderen Worten, das "Hoisting" verwandelt unseren Code in diesen:
var x;
console.log(x); // undefined
x = 10;
console.log(x); // 10
Der Operator let
Entwickler wollten das Verhalten des var
Operators ändern, hatten jedoch Angst davor, Millionen von bereits geschriebenen Codezeilen zu zerstören. Daher haben sie einfach einen weiteren Operator erfunden, der ebenfalls Variablen erstellt, aber mit einem etwas anderen Verhalten.
Variablen, die mit let
deklariert werden, haben einen Block-Gültigkeitsbereich. Das bedeutet, dass sie nur innerhalb des Codesblocks (normalerweise in geschweiften Klammern {}) verfügbar sind, in dem sie deklariert wurden. let
unterliegt nicht dem Hoisting wie var
.
Beispiel:
Die Variable y
existiert nur innerhalb des if
Blocks.
if (true) {
let y = 20;
console.log(y); // 20
}
console.log(y); // ReferenceError: y is not defined
Der Operator const
Variablen, die mit const
deklariert werden, haben ebenfalls einen Block-Gültigkeitsbereich und können nach ihrer Initialisierung nicht neu zugewiesen werden. Dies bedeutet jedoch nicht, dass die mithilfe von const
deklarierten Objekte unveränderlich sind — ihre Eigenschaften können geändert werden.
Das heißt, die Variable selbst kann nicht geändert werden, aber das Objekt, auf das sie verweist, kann geändert werden. Man wollte es besser machen, aber das Ergebnis blieb irgendwie das gleiche.
Beispiel:
In diesem Beispiel kann die Konstante x
nicht neu zugewiesen werden, aber das Objekt obj
kann geändert werden.
const x = 30;
console.log(x); // 30
x = 40; // TypeError: Assignment to constant variable.
const obj = { name: 'Alice' };
obj.name = 'Bob'; // Das ist erlaubt
console.log(obj.name); // Bob
2.2 Primitive Datentypen
JavaScript unterstützt mehrere primitive Datentypen, die einfache Werte darstellen und keine komplexen Objekte sind.
Der Typ Number
Stellt alle Zahlenwerte dar, einschließlich ganzer Zahlen und Gleitkommazahlen.
Beispiele:
let num = 42;
let pi = 3.14;
Der Typ String
Stellt Textdaten dar: Zeichenketten, Zeichen, Emojis. Alles, was wie eine Zeichenkette aussieht, fällt hierunter.
Beispiele:
let greeting = "Hello, world!";
let facepalm = "🤦";
let char = 'x';
Der Typ Boolean
Stellt logische Werte true
oder false
dar.
let isTrue = true;
let isFalse = false;
Der Typ Null
Stellt die absichtliche Abwesenheit eines Werts dar.
let empty = null;
Wenn ein Typ aus einem einzigen Wert besteht, der die Abwesenheit eines Wertes darstellt, ist er dann eher ein einzigartiger Wert als ein einzigartiger Typ?
Der Typ Undefined
Stellt den Wert einer Variablen dar, die deklariert, aber nicht initialisiert wurde.
let notAssigned;
console.log(notAssigned); // undefined
2.3 Vergleich von var, let, und const
Lass uns zum Abschluss unsere drei Methoden zur Erstellung von Variablen erneut vergleichen:
Eigenschaft | var | let | const |
---|---|---|---|
Gültigkeitsbereich | Funktional oder global | Block | Block |
Hoisting | Ja, aber Initialisierung wird nicht erhoben | Nein | Nein |
Neuzuweisung | Ja | Ja | Nein |
Initialisierung | Optional | Optional | Erforderlich |
JavaScript bietet mehrere Möglichkeiten zur Deklaration von Variablen, von denen jede ihre spezifischen Merkmale und Anwendbarkeit je nach Kontext hat. var
wird aufgrund seiner Hoisting-Eigenschaften und seines globalen Gültigkeitsbereichs seltener verwendet. let
und const
werden im modernen JavaScript wegen ihres Block-Gültigkeitsbereichs und der Kontrolle über Neuzuweisung bevorzugt.
Primitive Datentypen ermöglichen das Arbeiten mit den grundlegenden Datenstrukturen, die die grundlegende Funktionalität bieten, die zur Erstellung komplexer Anwendungen erforderlich ist. Und das ist die beliebteste Sprache der Welt :)
GO TO FULL VERSION