Table of Contents

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)