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