Skip to content

Commit d6beb48

Browse files
committed
Chapter types and logical-operators translated
1 parent f18394a commit d6beb48

File tree

3 files changed

+45
-44
lines changed

3 files changed

+45
-44
lines changed

1-js/02-first-steps/05-types/article.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Data types
1+
# Datentypen
22

3-
A variable in JavaScript can contain any data. A variable can at one moment be a string and later receive a numeric value:
3+
Eine Variable in JavaScript kann beliebige Daten enthalten. Zu einem Zeitpunkt kann die Variable eine Zeichenkette enthalten und einen Augenblick später einen Zahlenwert:
44

55
```js
66
// no error
7-
let message = "hello";
7+
let message = "Hallo";
88
message = 123456;
99
```
1010

11-
Programming languages that allow such things are called "dynamically typed", meaning that there are data types, but variables are not bound to any of them.
11+
Programmiersprachen die so etwas erlauben, heißen dynamisch typisiert. Das bedeutet, dass es zwar Datentypen gibt, eine Variable aber nicht auf einen davon festgelegt ist (anders als etwa in C oder Fortran).
1212

1313
There are seven basic data types in JavaScript. Here we'll study the basics, and in the next chapters we'll talk about each of them in detail.
1414

1-js/02-first-steps/11-logical-operators/article.md

+39-38
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1-
# Logical operators
1+
# Logische Operatoren
22

3-
There are three logical operators in JavaScript: `||` (OR), `&&` (AND), `!` (NOT).
3+
Es gibt drei logische Operatoren in JavaScript:
4+
- ODER: `||` (OR)
5+
- UND: `&&` (AND)
6+
- NICHT: `!` (NOT)
47

5-
Although they are called "logical", they can be applied to values of any type, not only boolean. The result can also be of any type.
8+
Obwohl sie ein "logisch" im Namen haben, können sie auf alle Variablentypen angewendet werden, nicht nur Boolesche Variablen. Die Rückgabewerte können ebenfalls ein beliebiger Variablentyp sein.
69

7-
Let's see the details.
10+
Aber schauen wir auf die Details.
811

9-
## || (OR)
12+
## ODER ||
1013

11-
The "OR" operator is represented with two vertical line symbols:
14+
Der ODER-Operator (OR) wird durch zwei vertikale Linien dargestellt:
1215

1316
```js
1417
result = a || b;
1518
```
1619

17-
In classical programming, logical OR is meant to manipulate boolean values only. If any of its arguments are `true`, then it returns `true`, otherwise it returns `false`.
20+
In klassischen Programmiersprachen ist der ODER-Operator lediglich vorgesehen um mit Booleschen Variablen zu arbeiten. Wenn eines der Argumente den Wert `true` (WAHR) hat, ist der Rückgabewert auch `true`, ansonsten `false` (FALSCH).
1821

19-
In JavaScript the operator is a little bit more tricky and powerful. But first let's see what happens with boolean values.
22+
In JavaScript ist der Operator ein wenig diffiziler und mächtiger, aber zuerst schauen wir uns die Verwendung mit Booleschen Werten an.
2023

21-
There are four possible logical combinations:
24+
Es gibt vier mögliche Eingabekombinationen:
2225

2326
```js run
2427
alert( true || true ); // true
@@ -27,77 +30,75 @@ alert( true || false ); // true
2730
alert( false || false ); // false
2831
```
2932

30-
As we can see, the result is always `true` except for the case when both operands are `false`.
33+
Wir sehen, dass der Rückgabewert immer `true` ist, außer wenn beide Operanden den Wert `false` haben.
3134

32-
If an operand is not boolean, then it's converted to boolean for the evaluation.
35+
Ist einer der Operanten kein Boolescher Wert, wird er zu einem Booleschen konvertiert, bevor die Operation durchgeführt wird.
3336

34-
For instance, a number `1` is treated as `true`, a number `0` -- as `false`:
37+
Ein wichtiges Beispiel sind die Zahl `1` die als `true` und `0` die als `false` interpretiert werden:
3538

3639
```js run
37-
if (1 || 0) { // works just like if( true || false )
38-
alert( 'truthy!' );
40+
if (1 || 0) { // Funktioniert wie if( true || false )
41+
alert( 'Wahr!' );
3942
}
4043
```
4144

42-
Most of the time, OR `||` is used in an `if` statement to test if *any* of the given conditions is correct.
45+
Sehr oft wird die ODER-Operation `||` in `if`-Statements verwendet um zu überprüfen ob *irgendeine* der Bedingungen WAHR ist.
4346

44-
For example:
47+
Zum Beispiel:
4548

4649
```js run
4750
let hour = 9;
4851

4952
*!*
5053
if (hour < 10 || hour > 18) {
5154
*/!*
52-
alert( 'The office is closed.' );
55+
alert( 'Unser Büro ist geschlossen.' );
5356
}
5457
```
5558

56-
We can pass more conditions:
59+
Durch Verkettung können auch mehr als zwei Eingaben verwendet werden:
5760

5861
```js run
5962
let hour = 12;
6063
let isWeekend = true;
6164

6265
if (hour < 10 || hour > 18 || isWeekend) {
63-
alert( 'The office is closed.' ); // it is the weekend
66+
alert( 'Unser Büro ist geschlossen.' ); // Weil Wochenende ist
6467
}
6568
```
6669

67-
## OR seeks the first truthy value
70+
## ODER ermittelt den ersten wahren Wert
6871

69-
The logic described above is somewhat classical. Now let's bring in the "extra" features of JavaScript.
72+
Unsere bisherigen Beobachtungen entsprechen ganz der klassischen Logik. JavaScript bringt aber noch einige interessante Aspekte neu hinzu.
7073

71-
The extended algorithm works as follows.
72-
73-
Given multiple OR'ed values:
74+
Nehmen wir an, wir haben mehrere ODER-Verknüpfte Werte:
7475

7576
```js
76-
result = value1 || value2 || value3;
77+
Ergebnis = Wert1 || Wert2 || Wert3;
7778
```
7879

79-
The OR `||` operator does the following:
80+
Der ODER-Operator `||` verhält sich nun wie folgt:
8081

81-
- Evaluate operands from left to right.
82-
- For each operand, convert it to boolean. If the result is `true`, then stop and return the original value of that operand.
83-
- If all other operands have been assessed (i.e. all were `false`), return the last operand.
82+
- Die Operanden werden von links nach rechts Ausgewertet.
83+
- Jeder Operand wird in einen Booleschen Wert konvertiert. Wenn das Ergebnis `true` ist, wird die Auswertung gestoppt und der ursprüngliche (nicht konvertierte) Wert des Operanden zurückgegeben.
84+
- Wurden alle Operanden bearbeitet (und alle liefern `false` zurück), wird der der Originalwert des letzten Operanden zurückgegeben.
8485

85-
A value is returned in its original form, without the conversion.
86+
Es wird immer der origignale, nicht konvertierte Wert des Operanden zurückgegeben.
8687

87-
In other words, a chain of OR `"||"` returns the first truthy value or the last one if no such value is found.
88+
Anders formuliert, liefert eine Kette von ODER-Operationen `"||"` den ersten wahr aussehenden Wert zurück oder den letzten Wert, falls kein wahrer Wert existiert.
8889

89-
For instance:
90+
Zum Beispiel:
9091

9192
```js run
92-
alert( 1 || 0 ); // 1 (1 is truthy)
93-
alert( true || 'no matter what' ); // (true is truthy)
93+
alert( 1 || 0 ); // 1
94+
alert( true || 'Egal was hier steht' ); // true
9495

95-
alert( null || 1 ); // 1 (1 is the first truthy value)
96-
alert( null || 0 || 1 ); // 1 (the first truthy value)
97-
alert( undefined || null || 0 ); // 0 (all falsy, returns the last value)
96+
alert( null || 1 ); // 1
97+
alert( null || 0 || 1 ); // 1
98+
alert( undefined || null || 0 ); // 0 (alle false, letzter Wert wird zurückgegeben)
9899
```
99100

100-
That leads to some interesting usages compared to a "pure, classical, boolean-only OR".
101+
Dieses Verhalten erlaubt einige interessante Verwendungsmöglichkeiten, die über die klassische, logische Verwendung des Booleschen ODER hinaus gehen.
101102

102103
1. **Getting the first truthy value from the list of variables or expressions.**
103104

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Wortgruppen die im Englischen getrennt geschrieben werden, wie "HTML file", soll
7373

7474
Variables
7575

76-
Data types
76+
[Datentypen](1-js/02-first-steps/05-types/article.md)
7777

7878
Type Conversions
7979

@@ -85,7 +85,7 @@ Interaction: alert, prompt, confirm
8585

8686
Conditional operators: if, '?'
8787

88-
Logical operators
88+
[Logische Operatoren](1-js/02-first-steps/11-logical-operators/article.md)
8989

9090
Loops: while and for
9191

0 commit comments

Comments
 (0)