> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baenninger.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Kurzschlussausdrücke

## OR-Operator

Der ||-Operator hat noch ein paar spezielle Verhaltensweisen, nämlich:

* Sie können jeden Datentypen benutzen
* Sie können jeden Datentypen zurückgeben
* Kurzschlüsse

Wir können von dem ||-Operator nicht nur Booleans zurückerhalten, sondern auch alle anderen Datentypen:

```javascript theme={null}
3 || 'Levin'
```

Dabei gibt es ein paar Regeln, welchen Wert wir zurückerhalten:

* Wenn der erste Ausdruck truthy ist, wird uns dieser zurückgegeben und der andere Operand nicht ausgewertet
* Ist aber der zweite Ausdruck falsy, dann wird der zweite Ausdruck ausgewertet und zurückgegeben

```java theme={null}
'' || 'Jonas'
true || 0
undefined || null
```

## AND-Operator

Der &&-Operator funktioniert genau umgekehrt, heisst:

* Wenn der erste Ausdruck falsy ist, wird uns dieser zurückgegeben und der andere Operand nicht ausgewertet
* Ist aber der zweite Ausdruck truthy, dann wird der zweite Ausdruck ausgewertet und zurückgegeben

```javascript theme={null}
0 && 'Levin'
7 && 'Levin'
'Hello' && 23 && null && 'Levin'
```
