From 5dc754510b5a782782b7b85e001978c610e0615f Mon Sep 17 00:00:00 2001 From: matztom <65966996+matztom@users.noreply.github.com> Date: Wed, 10 Jun 2020 20:01:23 +0200 Subject: [PATCH 01/11] translated until line 136 --- 1-js/02-first-steps/14-switch/article.md | 80 ++++++++++++------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 314c6cef8..0d51dc496 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -1,14 +1,14 @@ -# The "switch" statement +# Die "switch" Anweisung -A `switch` statement can replace multiple `if` checks. +Eine `switch` Anweisung kann mehrere `if` Prüfungen ersetzen. -It gives a more descriptive way to compare a value with multiple variants. +Es bietet eine anschaulichere Möglichkeit, einen Wert mit mehreren Varianten zu vergleichen. -## The syntax +## Der Syntax -The `switch` has one or more `case` blocks and an optional default. +Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionalen default-Block. -It looks like this: +Es sieht wie folgt aus: ```js no-beautify switch(x) { @@ -26,71 +26,71 @@ switch(x) { } ``` -- The value of `x` is checked for a strict equality to the value from the first `case` (that is, `value1`) then to the second (`value2`) and so on. -- If the equality is found, `switch` starts to execute the code starting from the corresponding `case`, until the nearest `break` (or until the end of `switch`). -- If no case is matched then the `default` code is executed (if it exists). +- 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. +- 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). +- Wenn kein `case` zutrifft, wird der Code im `default` Block ausgeführt (falls dieser existiert). -## An example +## Ein Beispiel -An example of `switch` (the executed code is highlighted): +Ein Beispiel der `switch` Anweisung (der ausgeführte Code ist hervorgehoben): ```js run let a = 2 + 2; switch (a) { case 3: - alert( 'Too small' ); + alert( 'Zu klein' ); break; *!* case 4: - alert( 'Exactly!' ); + alert( 'Exakt!' ); break; */!* case 5: - alert( 'Too large' ); + alert( 'Zu gross' ); break; default: - alert( "I don't know such values" ); + alert( "Ich kenne keine solchen Werte" ); } ``` -Here the `switch` starts to compare `a` from the first `case` variant that is `3`. The match fails. +`switch` beginnt `a` mit der ersten `case` Alternative, welche `3` ist, zu vergleichen. Der Vergleich schlägt fehl. -Then `4`. That's a match, so the execution starts from `case 4` until the nearest `break`. +Dann wird mit `4` verglichen. Übereinstimmung. Der Code zwischen `case 4` bis zum nächsten `break` wird ausgeführt. -**If there is no `break` then the execution continues with the next `case` without any checks.** +**Wenn es keinen `break` gibt, wird die Ausführung mit dem nächsten `case`, ohne jegliche Überprüfung, fortgesetzt.** -An example without `break`: +Ein Beispiel ohne `break`: ```js run let a = 2 + 2; switch (a) { case 3: - alert( 'Too small' ); + alert( 'Zu klein' ); *!* case 4: - alert( 'Exactly!' ); + alert( 'Exakt!' ); case 5: - alert( 'Too big' ); + alert( 'Zu gross' ); default: - alert( "I don't know such values" ); + alert( "Ich kenne keine solchen Werte" ); */!* } ``` -In the example above we'll see sequential execution of three `alert`s: +Im obigen Beispiel sehen wir die sequentielle Ausführung von drei `alert`s: ```js -alert( 'Exactly!' ); -alert( 'Too big' ); -alert( "I don't know such values" ); +alert( 'Exakt!' ); +alert( 'Zu gross' ); +alert( "Ich kenne keine solchen Werte" ); ``` -````smart header="Any expression can be a `switch/case` argument" -Both `switch` and `case` allow arbitrary expressions. +````smart header="Jeder Ausdruck kann ein `switch/case` Argument sein" +`switch` und `case` erlauben willkürliche Ausdrücke. -For example: +Zum Beispiel: ```js run let a = "1"; @@ -99,41 +99,41 @@ let b = 0; switch (+a) { *!* case b + 1: - alert("this runs, because +a is 1, exactly equals b+1"); + alert("Das funktioniert, weil +a entspricht 1, und darum genau gleich wie b+1 ist"); break; */!* default: - alert("this doesn't run"); + alert("Wird nicht durchlaufen"); } ``` -Here `+a` gives `1`, that's compared with `b + 1` in `case`, and the corresponding code is executed. +Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, und der entsprechende Code ausgeführt wird. ```` -## Grouping of "case" +## Grupieren von "case" -Several variants of `case` which share the same code can be grouped. +Mehrere Varianten von `case`, die den gleichen Code teilen, können gruppiert werden. -For example, if we want the same code to run for `case 3` and `case 5`: +Wenn wir zum Beispiel denselben Code für `case 3` und `case 5` ausführen wollen: ```js run no-beautify let a = 3; switch (a) { case 4: - alert('Right!'); + alert('Richtig!'); break; *!* case 3: // (*) grouped two cases case 5: - alert('Wrong!'); - alert("Why don't you take a math class?"); + alert('Falsch!'); + alert("Warum besuchst du nicht einen Mathekurs?"); break; */!* default: - alert('The result is strange. Really.'); + alert('Das Result ist komisch. Wirklich.'); } ``` From 925e57e513806c1ec79b1b98a6e3849450320f55 Mon Sep 17 00:00:00 2001 From: matztom <65966996+matztom@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:48:44 +0200 Subject: [PATCH 02/11] all translated --- 1-js/02-first-steps/14-switch/article.md | 44 ++++++++++++------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 0d51dc496..5211081fc 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -1,14 +1,14 @@ # Die "switch" Anweisung -Eine `switch` Anweisung kann mehrere `if` Prüfungen ersetzen. +Eine `switch` Anweisung kann mehrere `if` Anweisungen ersetzen. -Es bietet eine anschaulichere Möglichkeit, einen Wert mit mehreren Varianten zu vergleichen. +Sie bietet eine anschauliche Möglichkeit, einen Wert mit mehreren Varianten zu vergleichen. -## Der Syntax +## Die Syntax -Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionalen default-Block. +Die `switch` Anweisung hat eine oder mehrere `case` Marken und eine optionale default Marke. -Es sieht wie folgt aus: +Das sieht wie folgt aus: ```js no-beautify switch(x) { @@ -26,7 +26,7 @@ switch(x) { } ``` -- 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. +- 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. - 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). - Wenn kein `case` zutrifft, wird der Code im `default` Block ausgeführt (falls dieser existiert). @@ -88,7 +88,7 @@ alert( "Ich kenne keine solchen Werte" ); ``` ````smart header="Jeder Ausdruck kann ein `switch/case` Argument sein" -`switch` und `case` erlauben willkürliche Ausdrücke. +`switch` und `case` erlauben beliebige Ausdrücke. Zum Beispiel: @@ -99,7 +99,7 @@ let b = 0; switch (+a) { *!* case b + 1: - alert("Das funktioniert, weil +a entspricht 1, und darum genau gleich wie b+1 ist"); + alert("Das funktioniert, weil +a gleich 1 ist, und damit genau gleich wie b+1"); break; */!* @@ -107,7 +107,7 @@ switch (+a) { alert("Wird nicht durchlaufen"); } ``` -Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, und der entsprechende Code ausgeführt wird. +Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, worauf der entsprechende Code ausgeführt wird. ```` ## Grupieren von "case" @@ -125,7 +125,7 @@ switch (a) { break; *!* - case 3: // (*) grouped two cases + case 3: // (*) zwei Fälle gruppiert case 5: alert('Falsch!'); alert("Warum besuchst du nicht einen Mathekurs?"); @@ -137,22 +137,22 @@ switch (a) { } ``` -Now both `3` and `5` show the same message. +Nun zeigen `3` und `5` die selbe Nachricht. -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`. +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. -## Type matters +## Der Typ spielt eine Rolle -Let's emphasize that the equality check is always strict. The values must be of the same type to match. +Wichtig ist, dass die Gleichheitsprüfung immer streng ist. Die Werte müssen vom gleichen Typ sein, damit sie übereinstimmen. -For example, let's consider the code: +Betrachten wir zum Beispiel folgenden Code: ```js run -let arg = prompt("Enter a value?"); +let arg = prompt("Wert eingeben?"); switch (arg) { case '0': case '1': - alert( 'One or zero' ); + alert( 'Eins oder null' ); break; case '2': @@ -160,13 +160,13 @@ switch (arg) { break; case 3: - alert( 'Never executes!' ); + alert( 'Wird niemals ausgeführt!' ); break; default: - alert( 'An unknown value' ); + alert( 'Ein unbekannter Wert' ); } ``` -1. For `0`, `1`, the first `alert` runs. -2. For `2` the second `alert` runs. -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. +1. Für `0`, `1`, wird der erste `alert` ausgeführt. +2. Für `2` wird der zweite `alert` ausgeführt. +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. From c46ba11b3f3a400b60cad6a05a54f0dc834f4b66 Mon Sep 17 00:00:00 2001 From: matztom <65966996+matztom@users.noreply.github.com> Date: Mon, 6 Jul 2020 14:08:21 +0200 Subject: [PATCH 03/11] Update 1-js/02-first-steps/14-switch/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Hegedüs --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 5211081fc..5c071794a 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -110,7 +110,7 @@ switch (+a) { Hier ergibt `+a` den Wert `1`, welcher im `case` mit `b + 1` verglichen wird, worauf der entsprechende Code ausgeführt wird. ```` -## Grupieren von "case" +## Gruppieren von "case" Mehrere Varianten von `case`, die den gleichen Code teilen, können gruppiert werden. From 411f09b1fb1d3c0d2801ce0b9ac92e590db04202 Mon Sep 17 00:00:00 2001 From: matztom <65966996+matztom@users.noreply.github.com> Date: Mon, 6 Jul 2020 14:09:24 +0200 Subject: [PATCH 04/11] Update 1-js/02-first-steps/14-switch/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Hegedüs --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 5c071794a..d534bc4f2 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -169,4 +169,4 @@ switch (arg) { 1. Für `0`, `1`, wird der erste `alert` ausgeführt. 2. Für `2` wird der zweite `alert` ausgeführt. -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. +3. Aber für `3`, ist das Resultat des `prompt` ein String `"3"`, welcher nicht streng gleich `===` der Zahl `3` ist. Also haben wir ungenutzten Code in `case 3`! Die `default` Variante wird ausgeführt. From ee586c5060a55e51c5b32a6e0fdb496d1946d1a0 Mon Sep 17 00:00:00 2001 From: matztom <65966996+matztom@users.noreply.github.com> Date: Mon, 6 Jul 2020 14:09:51 +0200 Subject: [PATCH 05/11] Update 1-js/02-first-steps/14-switch/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Hegedüs --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index d534bc4f2..5f3c1cfdb 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -133,7 +133,7 @@ switch (a) { */!* default: - alert('Das Result ist komisch. Wirklich.'); + alert('Das Resultat ist komisch. Wirklich.'); } ``` From 04d23efae01445ee73dafdec2a715d6bd7084905 Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:38:49 +0000 Subject: [PATCH 06/11] Update 1-js/02-first-steps/14-switch/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Hegedüs --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 13a9c63f5..9888e092d 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -141,7 +141,7 @@ switch (a) { Nun zeigen `3` und `5` die selbe Nachricht. -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. +Die Fähigkeit, Fälle "gruppieren" zu können, ist ein Nebeneffekt davon, wie `switch/case` ohne `break` funktioniert. Hier beginnt die Ausführung von `case 3` in der Zeile `(*)` und durchläuft `case 5`, weil es kein `break` gibt. ## Der Typ spielt eine Rolle From 4ca9b9ed9567e73ad9931d82bb7bd469413edc92 Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:41:23 +0000 Subject: [PATCH 07/11] Update article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The original text is blocks. The more intuitive translation would be Blöcke. --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 9888e092d..1b1568103 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -6,7 +6,7 @@ Sie bietet eine anschauliche Möglichkeit, einen Wert mit mehreren Varianten zu ## Die Syntax -Die `switch` Anweisung hat eine oder mehrere `case` Marken und eine optionale default Marke. +Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionale default Block. Das sieht wie folgt aus: From 6e2e229eea68880870df37aa540f0ad4c5518643 Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:42:26 +0000 Subject: [PATCH 08/11] fixed minor typo --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 1b1568103..15d94c6d8 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -6,7 +6,7 @@ Sie bietet eine anschauliche Möglichkeit, einen Wert mit mehreren Varianten zu ## Die Syntax -Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionale default Block. +Die `switch` Anweisung hat eine oder mehrere `case` Blöcke und einen optionalen default Block. Das sieht wie folgt aus: From e93791323ed6673c0847847538fe35cbe0ce182a Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:43:56 +0000 Subject: [PATCH 09/11] fixed minor typo --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 15d94c6d8..28304b11e 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -52,7 +52,7 @@ switch (a) { break; default: - alert( "Ich kenne keine solchen Werte" ); + alert( "Ich kenne keinen solchen Werte" ); } ``` From f4567668c58edeefdbbccdbe6843237f8ee4f950 Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:45:35 +0000 Subject: [PATCH 10/11] fixed minor typo --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 28304b11e..18f0591a1 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -76,7 +76,7 @@ switch (a) { case 5: alert( 'Zu gross' ); default: - alert( "Ich kenne keine solchen Werte" ); + alert( "Ich kenne keinen solchen Werte" ); */!* } ``` From 3cb9cc37e82d57dd30a05c9bd4bb0765312e9f8e Mon Sep 17 00:00:00 2001 From: Constantin <131041909+engag1ng@users.noreply.github.com> Date: Wed, 14 Aug 2024 02:47:05 +0000 Subject: [PATCH 11/11] fixed minor typo --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 18f0591a1..da6647c46 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -86,7 +86,7 @@ Im obigen Beispiel sehen wir die sequentielle Ausführung von drei `alert`s: ```js alert( 'Exakt!' ); alert( 'Zu gross' ); -alert( "Ich kenne keine solchen Werte" ); +alert( "Ich kenne keinen solchen Werte" ); ``` ````smart header="Jeder Ausdruck kann ein `switch/case` Argument sein"