Direkt zum Hauptinhalt springen
eLearner.app
Modul 3 · Lektion 2 von 410/32 im Kurs~10 min
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.

JS
const utente = {
  nome: 'Anna',
  eta: 28,
  attivo: true,
  ruoli: ['admin', 'editor'],
};

Eigenschaften lesen: Dot- vs. Bracket-Notation

Es gibt zwei gleichwertige Notationen:

JS
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]; // 28

Eine fehlende Eigenschaft gibt undefined zurück, ohne Fehler:

JS
utente.telefono; // undefined

Hinzufügen, Ändern, Entfernen

JS
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:

JS
const nome = 'Anna';
const eta = 28;

const u1 = { nome: nome, eta: eta }; // forma esplicita
const u2 = { nome, eta }; // shorthand, equivalente

Das Vorhandensein einer Eigenschaft prüfen

Drei Optionen, in der Reihenfolge ihrer Bevorzugung:

JS
'nome' in utente; // true   ← operatore in
utente.nome !== undefined; // true   ← funziona quasi sempre
Object.hasOwn(utente, 'nome'); // true   ← moderno, sicuro

Probier es aus

Übung#js.m3.l2.e1
Versuche: 0Wird geladen…

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.

Editor wird geladen…
Hinweis anzeigen

Du kannst Eigenschaften nachträglich mit der Dot-Notation hinzufügen.

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

Übung#js.m3.l2.e2
Versuche: 0Wird geladen…

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).

Editor wird geladen…
Hinweis anzeigen

Mit eckigen Klammern kannst du eine Variable als Schlüssel übergeben.

Lösung nach 3 Versuchen verfügbar