====== Funktionen ====== ===== Objekte ===== Ein Objekt gruppiert mehrere Werte zusammen: const objektEins = { name: 'Hans', ['nach-name']: 'Wurst', alter: 27, geburtstag: { tag: 19, monat: 3, jahr: 1970 } }; console.log(objektEins); console.log(objektEins.name); console.log(objektEins['nach-name']); console.log(objektEins.alter); console.log(objektEins.geburtstag); console.log(objektEins.geburtstag.tag); console.log(objektEins.geburtstag.monat); console.log(objektEins.geburtstag.jahr); > {name: 'Hans', nach-name: 'Wurst', alter: 27, geburtstag: {tag: 19, monat: 3, jahr: 1970}} > Hans > Wurst > 27 > {tag: 19, monat: 3, jahr: 1970} > 19 > 3 > 1970 Neuer Wert in ein bestehendes Objekt hinzufügen: objektEins.wohnort = 'Mainz'; console.log(objektEins); > {name: 'Hans', nach-name: 'Wurst', alter: 27, geburtstag: {tag: 19, monat: 3, jahr: 1970}, wohnort: 'Mainz'} > Mainz Ein Wert aus einem Objekt löschen: delete objektEins.wohnort; console.log(objektEins); > {name: 'Hans', nach-name: 'Wurst', alter: 27, geburtstag: {tag: 19, monat: 3, jahr: 1970}} Funktionen in Objekten -> Methoden const objektEins = { name: 'Hans', alter: 27, methodeEins: function funktionEins() { console.log('Funktion im Objekt'); } }; console.log(objektEins); console.log(objektEins.name); console.log(objektEins.alter); console.log(objektEins.methodeEins); objektEins.methodeEins(); > {name: 'Hans', alter: 27, methodeEins: ƒ} > Hans > 27 > ƒ funktionEins() { console.log('Funktion im Objekt'); } > Funktion im Objekt console.log(typeof Math); console.log(typeof Math.sin); > object > function ===== Einfache bedingte Ausdrücke ===== Allgemein bei return:\\ //predicate// ''?'' //consequent-expression// '':'' //alternative-expression// predicate: x >= 0\\ consequent-expression: x\\ alternative-expression: -x\\ function abs(x) { return x >= 0 ? x : - x; } ===== Mehrfach bedingte Ausdrücke ===== p1, p2, ... pn: Prädikate\\ e1, e2, ... en: Ausdrücke\\ final-alternative-expression: letzter Ausdruck fall alle anderen nicht zutreffen.\\ \\ //p1// ''?'' //e1// '':'' //p2// ''?'' //e2// ... '':'' //pn// ''?'' //en// '':'' //final-alternative-expression// function abs(x) { return x > 0 ? x : x === 0 ? 0 : -x; } ==== zusammengesetzte Bedingungen ==== //expression1// ''&&'' //expression2// -> und\\ entspricht: //expression1// ''?'' //expression2// '':'' ''false'' > function test_zahl(z){ return z>0 && z<11 ? z : console.log("falsch")} > test_zahl(2) 2 > test_zahl(22) falsch > function test2_zahl(z){ return z>0 ? z<11 : console.log("falsch")} > test2_zahl(2) true > test2_zahl(22) false > test2_zahl(-2) falsch //expression1// ''||'' //expression2// -> oder\\ entspricht: //expression1// ''?'' ''true'' '':'' //expression2// ''!'' //expression// -> nicht (negation)