-
-
Notifications
You must be signed in to change notification settings - Fork 37
JavaScript specials #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 5 commits
5c0b2f3
ed22199
461959b
58964c6
624f83b
f518de6
d0d7538
9353275
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,181 +1,181 @@ | ||||||
| # JavaScript specials | ||||||
| # JavaScript Besonderheiten | ||||||
|
|
||||||
| This chapter briefly recaps the features of JavaScript that we've learned by now, paying special attention to subtle moments. | ||||||
| Dieses Kapitel wiederholt kurz die Features von JavaScript, die wir bis jetzt gelernt haben, mit besonderer Aufmerksamkeit auf die subtilen Momente. | ||||||
|
|
||||||
| ## Code structure | ||||||
| ## Code Struktur | ||||||
|
|
||||||
| Statements are delimited with a semicolon: | ||||||
| Anweisungen werden mit einem Semikolon getrennt: | ||||||
|
|
||||||
| ```js run no-beautify | ||||||
| alert('Hello'); alert('World'); | ||||||
| alert('Hallo'); alert('Welt'); | ||||||
| ``` | ||||||
|
|
||||||
| Usually, a line-break is also treated as a delimiter, so that would also work: | ||||||
| Normalerweise wird ein Zeilenumbruch ebenfalls als Trennzeichen behandelt, so würde das ebenfalls funktionieren: | ||||||
|
|
||||||
| ```js run no-beautify | ||||||
| alert('Hello') | ||||||
| alert('World') | ||||||
| alert('Hallo') | ||||||
| alert('Welt') | ||||||
| ``` | ||||||
|
|
||||||
| That's called "automatic semicolon insertion". Sometimes it doesn't work, for instance: | ||||||
| Das wird "Automatisches Einfügen von Semikolons" genannt. Manchmal funktioniert das nicht, zum Beispiel: | ||||||
|
|
||||||
| ```js run | ||||||
| alert("There will be an error after this message") | ||||||
| alert("Es wird einen Fehler nach dieser Nachricht geben") | ||||||
|
|
||||||
| [1, 2].forEach(alert) | ||||||
| ``` | ||||||
|
|
||||||
| Most codestyle guides agree that we should put a semicolon after each statement. | ||||||
| Die Meisten Codestil-Leitfäden stimmen darin überein, dass wir ein Semikolon nach jeder Anweisung setzen sollten. | ||||||
|
|
||||||
| Semicolons are not required after code blocks `{...}` and syntax constructs with them like loops: | ||||||
| Semikolons sind nicht erforderlich nach Codeblöcken `{...}` und Syntaxgebilde mit ihnen wie Schleifen: | ||||||
|
||||||
| Semikolons sind nicht erforderlich nach Codeblöcken `{...}` und Syntaxgebilde mit ihnen wie Schleifen: | |
| Semikolons sind nach Codeblöcken und Syntaxkonstrukten mit geschweiften Klammern `{...}`, wie z.B. Schleifen, nicht erforderlich: |
Das werden wir ein bisschen umstellen müssen sonst ist es wirklich sehr lesbar.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ...Aber selbst wenn wir ein "extra" Semikolon irgendwo setzen können, ist das kein Fehler. Es wird ignoriert. | |
| ...Aber selbst wenn wir irgendwo ein "zusätzliches" Semikolon setzen, ist das kein Fehler. Es wird ignoriert. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Um alle Features des modernen JavaScript zu ermöglichen, sollten wir ein ein Skript mit `"use strict"` beginnen. | |
| Um alle Funktionen des modernen JavaScripts zu ermöglichen, sollten wir Skripte mit `"use strict"` beginnen. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Ohne `"use strict"`, funktioniert alles weiterhin, aber einige Features verhalten sich nach dem altmodischen, "kompatiblen" Weg. Wir würden im allgemeinen das moderne Verhalten bevorzugen. | |
| Ohne `"use strict"` funktioniert alles weiterhin, aber einige Funktionen verhalten sich in der alten, "kompatiblen" Weise. Wir würden im Allgemeinen das moderne Verhalten bevorzugen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Einige moderne Features der Sprache (wie Klassen, die wir in der Zukunft behandeln) aktivieren den strikten Modus implizit. | |
| Einige moderne Merkmale der Sprache (wie Klassen, die wir später behandeln) ermöglichen implizit einen strikten Modus. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Wir benutzen einen Browser als Arbeitsumgebung, also sind grundlegende UI-Funktionen: | |
| Wir benutzen einen Browser als Arbeitsumgebung, also werden grundlegende UI-Funktionen sein: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| : Stell eine `Frage` und gib zurück was die Besucher eingegeben haben oder `null` wenn sie auf "Abbrechen" geklickt haben. | |
| : Stellt eine `Frage` und gibt entweder zurück, was der Besucher eingegeben hat oder `null`, wenn er auf "Abbrechen" geklickt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| : Stell eine `Frage` und schlag die Auswahlt zwischen OK und Abbrechen vor. Die Auswahl wird als `true/false` zurückgegeben. | |
| : Stellt eine `Frage` und schlägt vor, zwischen Ok und Abbrechen zu wählen. Die Wahl wird als `true/false` zurückgegeben. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Alle diese Funktionen sind *modal*, sie pausieren das Ausführen des Codes und verhindern, dass die Benutzer mit der Seite interagieren bis sie antworten. | |
| Alle diese Funktionen sind *Dialoge*, sie unterbrechen die Code-Ausführung und verhindern, dass der Besucher mit der Seite interagiert, bis er antwortet. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| : Bitweise Operatoren arbeiten mit 32-bit Ganzzaheln am niedrigsten bit-level: siehe die [docs](mdn:/JavaScript/Reference/Operators/Bitwise_Operators) wenn sie erforderlich sind. | |
| : Bitweise Operatoren arbeiten mit 32-bit Ganzzahlen am niedrigsten bit-level: siehe die [docs](mdn:/JavaScript/Reference/Operators/Bitwise_Operators), wenn sie erforderlich sind. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| : Logisches UND `&&` und ODER `||` führen Kurzzschlussauswertungen aus und dann geben sie den Wert zurück wo sie angehalten sind (nicht unbedingt `true`/`false`). Logisches NICHT `!` Konvertiert den Operand in einen bool'schen Typ und gibt den umgekehrten Wert zurück. | |
| : Logisch UND `&&` und ODER `||` führen eine Kurzzschluss-Auswertung durch und liefern dann den Wert zurück (nicht zwingend `true`/`false`), wo angehalten wurde. Logisch NICHT `!` konvertiert den Operand in einen boolschen Wert und gibt den invertierten Wert zurück. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Der strikte Gleichheitsoperator `===` führt diese Konversion nicht durch: unterschiedliche Typen bedeuten immer unterschieldiche Werte dafür. | |
| Der strikte Gleichheitsoperator `===` führt diese Konvertierung nicht durch: verschiedene Typen bedeuten für ihn immer verschiedene Werte. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Werte `null` und `undefined` sind besonders: sie sind gleich `==` zueinander und nicht gleich zu etwas anderem. | |
| Die Werte `null` und `undefined` sind etwas Besonderes: sie entsprechen `==` zueinander und sind mit nichts anderem gleichzusetzen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Größer/kleiner-Vergleiche vergleichen Zeichenketten zeichenweise, andere Typen werden in eine Zahl umgewandelt. | |
| Größer/kleiner-Vergleiche prüfen Zeichenketten zeichenweise, andere Typen werden in eine Zahl umgewandelt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Die Variable die in der `for(let...)`-Schleife deklariert wurde, ist nur in der Schleife sichtbar. Aber wir können `let` auch weglassen und eine vorhandene Variable wiederverwenden. | |
| - Die in der `for(let...)`-Schleife deklarierte Variable ist nur innerhalb der Schleife sichtbar. Wir können aber auch `let` weglassen und eine vorhandene Variable wiederverwenden. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Direktiven `break/continue` ermöglichen es die ganze Schleife/aktuelle Iteration zu verlassen. Benutze Labels um verschachtelte Schleifen abzubrechen. | |
| - Direktiven `break/continue` ermöglichen es die ganze Schleife/aktuelle Iteration zu verlassen. Benutze Labels, um verschachtelte Schleifen abzubrechen. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Später lernen wir weitere Typen von Schleifen kennen, um Objekte zu behandeln. | |
| Später werden wir weitere Arten von Schleifen untersuchen, um mit Objekten zu arbeiten. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Wir haben drei Wege behandelt um Funktionen in JavaScript anzulegen: | |
| Wir betrachteten drei Möglichkeiten zum Erstellen einer Funktion in JavaScript: |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Funktionen können lokale Variablen haben: die innerhalb des Rumpfes deklariert wurden. Solche Variablen sind nur innerhalb der Funktion sichtbar. | |
| - Funktionen können lokale Variablen haben: diejenigen, die innerhalb ihres Körpers deklariert sind. Solche Variablen sind nur innerhalb der Funktion sichtbar. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Das war eine kurze Liste von JavaScript-Features. Ab hier haben wir nur die Grundlagen gelernt. Weiter im Tutorial wirst du mehr Besonderheiten und fortgeschrittene Features von JavaScript finden. | |
| Das war eine kurze Zusammenfassung von JavaScript-Funktionen. Bis jetzt haben wir nur die Grundlagen kennengelernt. Im weiteren Verlauf des Tutorials findest du weitere Besonderheiten und fortgeschrittene Funktionen von JavaScript. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.