it-praxisportal/courses/javascript/05_objekte_und_destructuring/aufgabe.js

46 lines
2.1 KiB
JavaScript

/**
* 🌐 JS 03: OBJEKTE, DESTRUCTURING & REST/SPREAD 🌐
* ==================================================
* Strukturierte Daten & moderne ES6-Operatoren in JavaScript.
*/
// 🎯 TEILZIEL 1 (TODO 1): erstelleBenutzer(name, email, rolle = "user")
// Erstelle ein Benutzerobjekt mit Property Shorthand und Default-Parameter.
// Rückgabe: Ein Objekt mit { name, email, rolle }
function erstelleBenutzer(name, email, rolle = "user") {
// TODO: Nutze ES6 Property Shorthand { name, email, rolle }
return null;
}
// 🎯 TEILZIEL 2 (TODO 2): extrahiereDetails(benutzerObjekt)
// Extrahiere 'name' und 'email' mittels Object Destructuring: const { name, email } = benutzerObjekt;
// Rückgabe: Formatierter String im Format: `${name} (${email})`
function extrahiereDetails(benutzerObjekt) {
// TODO: Destructuring anwenden und String im Format "Name (email@domain.de)" zurückgeben
return "";
}
// 🎯 TEILZIEL 3 (TODO 3): fuegeAdresseHinzu(benutzerObjekt, adresseObjekt)
// Kombiniere Benutzer und Adresse zu einem NEUEN Objekt mittels Spread-Operator: { ...benutzerObjekt, ...adresseObjekt }
// Wichtig: Das Originalobjekt benutzerObjekt darf NICHT verändert werden (Immutability).
function fuegeAdresseHinzu(benutzerObjekt, adresseObjekt) {
// TODO: Neues Objekt mit Object Spread { ...benutzerObjekt, ...adresseObjekt } erstellen
return null;
}
// 🎯 TEILZIEL 4 (TODO 4): zaehleEigenschaften(objekt)
// Zähle die Anzahl der eigenen Schlüssel/Eigenschaften eines Objekts mit Object.keys(objekt).length.
// Bei leeren oder ungültigen Objekten soll 0 zurückgegeben werden.
function zaehleEigenschaften(objekt) {
// TODO: Object.keys() nutzen und Anzahl der Keys zurückgeben
return 0;
}
// 🎯 TEILZIEL 5 (TODO 5): berechneWarenkorbGesamtwert(warenkorbItems)
// Berechne die Summe aller (preis * anzahl) im Array warenkorbItems.
// Nutze Destructuring im Loop oder in reduce: for (const { preis, anzahl = 1 } of warenkorbItems)
// Bei leerem Warenkorb [] soll 0 zurückgegeben werden.
function berechneWarenkorbGesamtwert(warenkorbItems) {
// TODO: Destructuring im Schleifendurchlauf oder reduce nutzen
return 0;
}