Lektionen des Moduls (2/4)
Objekte: die Schlüssel-Wert-Zuordnung
Ein Objekt in JS ist eine ungeordnete Sammlung von Schlüssel-Wert-Paaren (Key-Value-Pairs).
Die Schlüssel (Keys) sind Strings (oder Symbol), die Werte können alles Mögliche sein: Zahlen,
Strings, Arrays, andere Objekte, Funktionen. Es ist die am häufigsten verwendete Datenstruktur der
Sprache: Jeder „Datensatz“ deiner Domäne wird typischerweise ein Objekt sein.
const utente = {
nome: 'Anna',
eta: 28,
attivo: true,
ruoli: ['admin', 'editor'],
};Eigenschaften lesen: Dot- vs. Bracket-Notation
Es gibt zwei gleichwertige Notationen:
utente.nome; // 'Anna' (dot — la forma normale)
utente['nome']; // 'Anna' (bracket — equivalente)
// Le bracket sono OBBLIGATORIE quando:
// 1) la chiave non è un identificatore valido
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale; // errore di sintassi
// 2) la chiave è calcolata (variabile/espressione)
const campo = 'eta';
utente[campo]; // 28Eine fehlende Eigenschaft gibt undefined zurück, ohne Fehler:
utente.telefono; // undefinedHinzufügen, Ändern, Entfernen
const u = { nome: 'Anna' };
u.eta = 28; // aggiunge
u.nome = 'Anna B.'; // modifica
delete u.eta; // rimuove la proprietàdelete ist ein Schlüsselwort (Keyword). Es wird ein seltener Anwendungsfall sein: In den
meisten Fällen wirst du ein neues Objekt ohne diesen Schlüssel erstellen wollen (das sehen
wir beim Spread).
Shorthand: Schlüssel, die wie die Variable heißen
Wenn der Name des Schlüssels mit dem der Variablen übereinstimmt, kannst du die Verdoppelung weglassen:
const nome = 'Anna';
const eta = 28;
const u1 = { nome: nome, eta: eta }; // forma esplicita
const u2 = { nome, eta }; // shorthand, equivalenteDas Vorhandensein einer Eigenschaft prüfen
Drei Optionen, in der Reihenfolge ihrer Bevorzugung:
'nome' in utente; // true ← operatore in
utente.nome !== undefined; // true ← funziona quasi sempre
Object.hasOwn(utente, 'nome'); // true ← moderno, sicuroProbier es aus
Erstelle das Objekt user = { name: 'Sara', age: 22 }, füge dann die Eigenschaft 'active' mit true hinzu und gib das Objekt als letzten Ausdruck zurück.
Hinweis anzeigen
Du kannst Eigenschaften nachträglich mit der Dot-Notation hinzufügen.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Gib für `product = { code: 'A1', price: 9.9 }` und den String `key = 'price'` den Preis unter Verwendung der Bracket-Notation zurück (der letzte Ausdruck muss 9.9 ergeben).
Hinweis anzeigen
Mit eckigen Klammern kannst du eine Variable als Schlüssel übergeben.
Lösung nach 3 Versuchen verfügbar