Skip to content

Commit 925e57e

Browse files
authored
all translated
1 parent 5dc7545 commit 925e57e

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

1-js/02-first-steps/14-switch/article.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Die "switch" Anweisung
22

3-
Eine `switch` Anweisung kann mehrere `if` Prüfungen ersetzen.
3+
Eine `switch` Anweisung kann mehrere `if` Anweisungen ersetzen.
44

5-
Es bietet eine anschaulichere Möglichkeit, einen Wert mit mehreren Varianten zu vergleichen.
5+
Sie bietet eine anschauliche Möglichkeit, einen Wert mit mehreren Varianten zu vergleichen.
66

7-
## Der Syntax
7+
## Die Syntax
88

9-
Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionalen default-Block.
9+
Die `switch` Anweisung hat eine oder mehrere `case` Marken und eine optionale default Marke.
1010

11-
Es sieht wie folgt aus:
11+
Das sieht wie folgt aus:
1212

1313
```js no-beautify
1414
switch(x) {
@@ -26,7 +26,7 @@ switch(x) {
2626
}
2727
```
2828

29-
- Der Wert von `x` wird auf eine strikte Gleichheit mit dem Wert aus dem ersten `case` geprüft. (das ist, `value1`) dann mit dem zweiten (`value2`) und so weiter.
29+
- Der Wert von `x` wird auf strikte Gleichheit mit dem Wert aus dem ersten `case` verglichen, (das ist `value1`) dann mit dem zweiten (`value2`) und so weiter.
3030
- Wenn eine Übereinstimmung gefunden wurde, führt `switch` den Code, ausgehend vom entsprechenden `case`, bis zum nächsten `break` aus (oder bis zum Ende der `switch` Anweisung).
3131
- Wenn kein `case` zutrifft, wird der Code im `default` Block ausgeführt (falls dieser existiert).
3232

@@ -88,7 +88,7 @@ alert( "Ich kenne keine solchen Werte" );
8888
```
8989

9090
````smart header="Jeder Ausdruck kann ein `switch/case` Argument sein"
91-
`switch` und `case` erlauben willkürliche Ausdrücke.
91+
`switch` und `case` erlauben beliebige Ausdrücke.
9292

9393
Zum Beispiel:
9494

@@ -99,15 +99,15 @@ let b = 0;
9999
switch (+a) {
100100
*!*
101101
case b + 1:
102-
alert("Das funktioniert, weil +a entspricht 1, und darum genau gleich wie b+1 ist");
102+
alert("Das funktioniert, weil +a gleich 1 ist, und damit genau gleich wie b+1");
103103
break;
104104
*/!*
105105

106106
default:
107107
alert("Wird nicht durchlaufen");
108108
}
109109
```
110-
Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, und der entsprechende Code ausgeführt wird.
110+
Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, worauf der entsprechende Code ausgeführt wird.
111111
````
112112
113113
## Grupieren von "case"
@@ -125,7 +125,7 @@ switch (a) {
125125
break;
126126
127127
*!*
128-
case 3: // (*) grouped two cases
128+
case 3: // (*) zwei Fälle gruppiert
129129
case 5:
130130
alert('Falsch!');
131131
alert("Warum besuchst du nicht einen Mathekurs?");
@@ -137,36 +137,36 @@ switch (a) {
137137
}
138138
```
139139
140-
Now both `3` and `5` show the same message.
140+
Nun zeigen `3` und `5` die selbe Nachricht.
141141
142-
The ability to "group" cases is a side-effect of how `switch/case` works without `break`. Here the execution of `case 3` starts from the line `(*)` and goes through `case 5`, because there's no `break`.
142+
Die Fähigkeit cases zu "grupieren" ist ein Seiteneffekt davon, wie `switch/case` ohne `break` funktioniert. Hier beginnt die Ausführung von `case 3` in der Zeile `(*)` und durchläuft `case 5`, weil dosich dort kein `break` befindet.
143143
144-
## Type matters
144+
## Der Typ spielt eine Rolle
145145
146-
Let's emphasize that the equality check is always strict. The values must be of the same type to match.
146+
Wichtig ist, dass die Gleichheitsprüfung immer streng ist. Die Werte müssen vom gleichen Typ sein, damit sie übereinstimmen.
147147
148-
For example, let's consider the code:
148+
Betrachten wir zum Beispiel folgenden Code:
149149
150150
```js run
151-
let arg = prompt("Enter a value?");
151+
let arg = prompt("Wert eingeben?");
152152
switch (arg) {
153153
case '0':
154154
case '1':
155-
alert( 'One or zero' );
155+
alert( 'Eins oder null' );
156156
break;
157157
158158
case '2':
159159
alert( 'Two' );
160160
break;
161161
162162
case 3:
163-
alert( 'Never executes!' );
163+
alert( 'Wird niemals ausgeführt!' );
164164
break;
165165
default:
166-
alert( 'An unknown value' );
166+
alert( 'Ein unbekannter Wert' );
167167
}
168168
```
169169
170-
1. For `0`, `1`, the first `alert` runs.
171-
2. For `2` the second `alert` runs.
172-
3. But for `3`, the result of the `prompt` is a string `"3"`, which is not strictly equal `===` to the number `3`. So we've got a dead code in `case 3`! The `default` variant will execute.
170+
1. Für `0`, `1`, wird der erste `alert` ausgeführt.
171+
2. Für `2` wird der zweite `alert` ausgeführt.
172+
3. Aber für `3`, ist das Resultat des `prompt` ein String `"3"`, welcher nicht streng gleich `===` der Zahl `3` entspricht. Also haben wir toten Code in `case 3`! Die `default` Variante wird ausgeführt.

0 commit comments

Comments
 (0)