-
-
Notifications
You must be signed in to change notification settings - Fork 36
Zahlreiche Verbesserungen #18
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
Merged
Merged
Changes from 35 commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
a8c9a11
Zahlreiche Verbesserungen
u-n-known 292e0bf
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 0ef455e
Update 1-js/01-getting-started/1-intro/article.md
u-n-known b480519
Update 1-js/01-getting-started/1-intro/article.md
u-n-known a6e4166
Update 1-js/01-getting-started/1-intro/article.md
u-n-known cb8cc15
Update 1-js/01-getting-started/1-intro/article.md
u-n-known a64f292
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 4aaffe1
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 6d36de2
Update 1-js/01-getting-started/1-intro/article.md
u-n-known a9cd524
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 1123fc4
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 50698d9
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 2d8d7bd
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 89477d5
Update 1-js/01-getting-started/1-intro/article.md
u-n-known ea3f1b2
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 4d79490
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 640839a
Update 1-js/01-getting-started/1-intro/article.md
u-n-known a87391b
Update 1-js/01-getting-started/1-intro/article.md
u-n-known e082074
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 9e0928f
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 961196d
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 08ce49c
Update 1-js/01-getting-started/1-intro/article.md
u-n-known f8e95b2
Update 1-js/01-getting-started/1-intro/article.md
u-n-known d4a2f25
Update 1-js/01-getting-started/1-intro/article.md
u-n-known aab858a
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 24ef000
Update 1-js/01-getting-started/1-intro/article.md
u-n-known baed884
Update 1-js/01-getting-started/1-intro/article.md
u-n-known c2041f5
Update 1-js/01-getting-started/1-intro/article.md
u-n-known ac7f436
Update 1-js/01-getting-started/1-intro/article.md
u-n-known b3afcb9
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 42fa904
Update 1-js/01-getting-started/1-intro/article.md
u-n-known 98d95ab
Update 1-js/01-getting-started/1-intro/article.md
u-n-known be58eb7
Update 1-js/01-getting-started/1-intro/article.md
u-n-known b560232
Update 1-js/01-getting-started/1-intro/article.md
u-n-known bcff00c
Apply suggestions from code review
engag1ng 42d75c8
Merge branch 'master' into patch-1
engag1ng File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,121 +1,121 @@ | ||
# Eine Einführung in JavaScript | ||
|
||
Mal sehen, was das Besondere an JavaScript ist, was wir damit erreichen können und welche anderen Technologien gut damit umgehen. | ||
Mal sehen was das Besondere an JavaScript ist, was wir damit alles anstellen können und welche anderen Technologien gut damit umgehen können. | ||
|
||
## Was ist JavaScript? | ||
|
||
*JavaScript* wurde ursprünglich entwickelt, um *"Webseiten lebendig zu machen "*. | ||
JavaScript wurde ursprünglich entwickelt, um "Webseiten lebendig zu machen". | ||
|
||
Die Programme dieser Sprache werden *scripts* genannt. Sie können direkt im HTML der Seite geschrieben werden und werden automatisch beim laden der Seite ausgeführt. | ||
Die Programme dieser Sprache werden *scripts* genannt. Diese kann man direkt ins HTML einer Seite schreiben welche dann beim Laden der Seite automatisch ausgeführt werden. | ||
|
||
Diese Scripts werden im Klartext bereitgestellt und ausgeführt. Sie benötigen keine spezielle Vorbereitung oder Kompilierung um zu funktionieren. | ||
Skripte werden als reiner Text bereitgestellt und ausgeführt. Sie benötigen keine spezielle Vorbereitung oder Kompilierung, um ausgeführt zu werden. | ||
|
||
In diesem Aspekt unterscheidet sich JavaScript sehr von einer anderen Sprache namens [Java](https://en.wikipedia.org/wiki/Java_(programming_language)). | ||
In diesem Aspekt unterscheidet sich JavaScript sehr von einer anderen Sprache namens [Java]https://de.wikipedia.org/wiki/Java_(Programmiersprache)). | ||
|
||
```smart header="Warum wird es <u>Java</u>Script genannt?" | ||
Als JavaScript erstellt wurde, hatte es zunächst einen anderen Namen: "LiveScript". Aber Java war damals sehr beliebt, so dass beschlossen wurde, dass die Positionierung einer neuen Sprache als "jüngerer Bruder" von Java helfen würde. | ||
```smart header="Warum heißt es <u>Java</u>Script?" | ||
Als JavaScript entwickelt wurde, hatte es zunächst einen anderen Namen: "LiveScript". Aber Java war zu dieser Zeit sehr verbreitet, so dass beschlossen wurde, dass die Etablierung einer neuen Sprache als "kleiner Bruder" von Java helfen würde. | ||
|
||
Aber als es sich entwickelte, wurde JavaScript zu einer völlig unabhängigen Sprache mit einer eigenen Spezifikation namens [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), und jetzt hat es überhaupt keinen Bezug mehr zu Java. | ||
In der weiteren Entwicklung wurde JavaScript zu einer völlig unabhängigen Sprache mit einer eigenen Spezifikation, [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), und hat darum überhaupt keinen Bezug mehr zu Java. | ||
``` | ||
|
||
Heute kann JavaScript nicht mehr nur im Browser ausgeführt werden. Es ist möglich JavaScript auch auf dem Server oder einem anderen beliebigen Geräte auszuführen, welches über ein Programm namens [JavaScript engine](https://en.wikipedia.org/wiki/JavaScript_engine) verfügt. | ||
Heute kann JavaScript nicht nur im Browser ausgeführt werden, sondern auch auf dem Server oder auf jedem Gerät, das über ein spezielles Programm namens [JavaScript engine](https://en.wikipedia.org/wiki/JavaScript_engine) verfügt. | ||
|
||
Der Browser verfügt über eine eingebettete Engine, die manchmal auch als "JavaScript Virtual Machine" bezeichnet wird. | ||
|
||
Verschiedene Engines haben unterschiedliche "Kodnamen". Zum Beispiel: | ||
Verschiedene Engines haben unterschiedliche "Codenamen". Zum Beispiel: | ||
|
||
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome und Opera. | ||
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox. | ||
- ...Es existieren auch noch andere Kodnamen wie "Trident" und "Chakra" für verschiedene Versionen von IE, "ChakraCore" für Microsoft Edge, "Nitro" und "SquirrelFish" für Safari, usw. | ||
- [V8](https://de.wikipedia.org/wiki/V8_(JavaScript-Implementierung)) -- in Chrome und Opera. | ||
- [SpiderMonkey](https://de.wikipedia.org/wiki/SpiderMonkey) -- in Firefox. | ||
- ...Es gibt noch weitere Codenamen wie "Trident" und "Chakra" für verschiedene IE-Versionen, "ChakraCore" für Microsoft Edge, "Nitro" und "SquirrelFish" für Safari, usw. | ||
|
||
Die obigen Begriffe sind gut zu merken, da sie in Entwicklerartikeln im Internet verwendet werden. Wir werden sie auch benutzen. Wenn zum Beispiel "ein Feature X von V8 unterstützt wird", dann funktioniert es wahrscheinlich in Chrome und Opera. | ||
Die oben genannten Begriffe sollte man sich merken, weil sie in Entwicklerarikeln im Internet verwendet werden. Wir werden sie auch verwenden. Wenn, zum Beispiel, "ein Feature X von V8 unterstützt wird", dann funktioniert es wahrscheinlich in Chrome und Opera. | ||
|
||
```smart header="Wie funktioniert die Engine?" | ||
```smart header="Wie funktionieren Engines?" | ||
|
||
Engines sind kompliziert. Aber die Grundlagen sind einfach. | ||
|
||
1. Die Engine (eingebettet, wenn es sich um einen Browser handelt) liest ("parses") den Script. | ||
2. Danach wird der Script in die Maschinensprache übersetzt ("Kompilieren"). | ||
3. Und zum Schluss wird der Maschienen Code ausgeführt, was ziemlich schnell passiert. | ||
1. Die Engine (eingebettet, wenn es sich um einen Browser handelt) liest ("parst") das Script. | ||
2. Danach wird das Script in Maschinensprache konvertiert ("kompiliert"). | ||
3. Und zum Schluss wird der Maschienencode ausgeführt, was ziemlich schnell passiert. | ||
|
||
Die Engine wendet in jedem Schritt des Prozesses Optimierungen an. Es beobachtet sogar das kompilierte Skript, während es läuft, analysiert die Daten, die durch es fließen, und optimiert den Maschinencode basierend auf diesem Wissen weiter. | ||
Die Engine wendet in jedem Schritt des Prozesses Optimierungen an. Es beobachtet sogar das kompilierte Skript während es läuft, analysiert die Daten, welche sie verarbeitet, und optimiert den Maschinencode basierend auf diesem Wissen weiter. | ||
``` | ||
|
||
## Was kann in-browser JavaScript tun? | ||
## Was kann im Browser ausgeführtes JavaScript? | ||
|
||
Modernes JavaScript ist eine "sichere" Programmiersprache. Es bietet keinen Low-Level-Zugriff auf Speicher oder CPU, da es ursprünglich für Browser erstellt wurde. | ||
Modernes JavaScript ist eine "sichere" Programmiersprache. Es bietet keinen Low-Level-Zugriff auf Speicher oder CPU, da es ursprünglich für Browser entwickelt wurde, die dies nicht benötigen. | ||
|
||
Die Funktionen von JavaScript hängen stark von der Umgebung ab, in der es ausgeführt wird. Beispielsweise unterstützt [Node.js](https://wikipedia.org/wiki/Node.js) Funktionen, die es JavaScript z.B. ermöglichen, beliebige Dateien zu lesen oder zu schreiben, sowie Netzwerkanfragen durchzuführen. | ||
Die Möglichkeiten von JavaScript hängen stark von der Umgebung ab, in der es ausgeführt wird. Beispielsweise unterstützt [Node.js](https://de.wikipedia.org/wiki/Node.js) Funktionen, die es JavaScript erlauben, beliebige Dateien zu lesen/schreiben, Netzwerkanfragen durchzuführen usw. | ||
|
||
In-Browser JavaScript kann alles, was mit der Manipulation von Webseiten, der Interaktion mit dem Benutzer und dem Webserver zu tun hat. | ||
Im Browser ausgeführtes JavaScript kann alles was mit der Manipulation von Webseiten, der Interaktion mit dem Benutzer und dem Webserver zu tun hat. | ||
|
||
So ist beispielsweise In-Browser JavaScript in der Lage: | ||
So ist beispielsweise im Browser laufendes JavaScript in der Lage: | ||
|
||
- Der Seite neues HTML zu addieren, den existierenden content zu modifizieren, oder die Stile anzupassen. | ||
- Der Seite neues HTML hinzuzufügen, den existierenden Inhalt zu modifizieren oder Stile anzupassen. | ||
- Auf Benutzeraktionen zu reagieren, zum Beispiel Mausklicks, Mauszeigerbewegungen oder Tastenanschläge. | ||
- Anfragen and entfernte Server über das Netzwerk zu versenden und Daten hoch und runter zu laden (diese technologien werden [AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) und [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) genannt). | ||
- Lesen und schreiben von cookies, sowie das abfragen des Benutzers oder das anzeigen von Nachrichten. | ||
- Speichern der Daten auf der client-side ("local storage"), also im Browser des Benutzers. | ||
- Anfragen über das Netzwerk an Remote-Server senden, Herunter- und Hochladen von Dateien (sogenannte [AJAX](https://de.wikipedia.org/wiki/Ajax_(Programmierung))- und [COMET](https://en.wikipedia.org/wiki/Comet_(programming))- Technologien). | ||
- Cookies auslesen und setzen, Fragen an den Besucher stellen, Nachrichten anzeigen. | ||
- Daten auf der Client-Seite zu speichern ("lokale Speicherung"). | ||
|
||
## Was kann JavaScript im Browser nicht tun? | ||
|
||
Die Fähigkeiten von JavaScript im Browser sind aus Gründen der Sicherheit des Benutzers eingeschränkt. Ziel ist es, zu verhindern, dass eine bösartige Webseite auf private Informationen zugreift oder die Daten des Benutzers schädigt. | ||
Die Möglichkeiten von JavaScript im Browser sind aus Sicherheitsgründen für den Benutzer eingeschränkt. Damit soll verhindert werden, dass eine bösartige Webseite Zugang zu privaten Informationen erhält oder die Daten des Benutzers schädigt. | ||
|
||
Beispiele für solche Beschränkungen sind: | ||
|
||
- JavaScript auf einer Webebsite darf keine Dateien auf dem Speichermedium lesen, schreiben oder kopieren. Zudem darf es keine Programme ausführen. Es hat keinen direkten Zugriff auf die Funktionen des Betriebsystems. | ||
- JavaScript auf einer Webseite darf keine willkürlichen Dateien auf der Festplatte lesen, schreiben oder kopieren, oder Programme ausführen. Es hat keinen direkten Zugriff auf die Funktionen des Betriebssystems. | ||
|
||
Moderne Browsers erlauben es mit Dateien zu arbeiten. Der Zugriff ist jedoch beschränkt und nur möglich wenn der Benutzer bestimmte Aktionen ausführt, z.B. die Datei in den Browser per "drag and drop" lädt oder sie via `<input>` tag auswählt. | ||
Moderne Browser erlauben es, mit Dateien zu arbeiten, aber der Zugriff ist begrenzt und nur möglich, wenn der Benutzer bestimmte Aktionen ausführt, wie z. B. eine Datei in ein Browserfenster "zu ziehen" oder sie über ein <input>-Tag auszuwählen. | ||
|
||
Es gibt auch Möglichkeiten mit der Kamera oder dem Mikrofon des Geräts zu interagieren. Dies benötigt aber die explizite Zustimmung des Benutzers. Deshalb kann eine JavaScript-enabled Website nicht heimlich die Webcam aktivieren, die Umgebung beobachten und die Informationen and die [NSA](https://en.wikipedia.org/wiki/National_Security_Agency) übermitteln. | ||
- Unterschiedliche Tabs und Fenster wissen in der Regel nicht voneinander. Es gibt jedoch Ausnahmen, bei welchen dies doch der Fall ist. Dies kann z.B. passieren, wenn durch JavaScript ein neues Fenster geöffnet wird. Aber selbst in diesem Fall kann es sein, dass JavaScript von einer Seite nicht auf die andere Seite zugreifen kann, wenn sie von verschiedenen Seiten (von einer anderen Domäne, einem anderen Protokoll oder Port) kommen. | ||
Es gibt Möglichkeiten, mit Kamera/Mikrofon und anderen Geräten zu interagieren, aber sie erfordern die ausdrückliche Genehmigung des Benutzers. JavaScript auf einer Webseite darf also nicht heimlich eine Webcam aktivieren, die Umgebung beobachten und die Informationen an die [NSA](https://de.wikipedia.org/wiki/National_Security_Agency) senden. | ||
- Verschiedene Tabs/Fenster wissen im Allgemeinen nichts voneinander. Manchmal tun sie es doch, z. B. wenn ein Fenster das andere mit JavaScript öffnet. Aber selbst in diesem Fall kann es vorkommen, dass JavaScript von einer Seite aus nicht auf die andere Seite zugreift, wenn ihr Ursprung verschieden ist (von einer anderen Domäne, einem anderen Protokoll oder Port). | ||
|
||
Dies wird die "Same Origin Policy" genannt. Um das zu umgehen, müssen *beide Seiten* für den Datenaustausch übereinstimmen und einen speziellen JavaScript-Code enthalten, der dies behandelt. Wir werden das im Tutorial behandeln. | ||
Dies wird die "Same-Origin-Policy" genannt. Um dies zu umgehen, müssen *beide Seiten* dem Datenaustausch zustimmen und einen speziellen JavaScript-Code enthalten, der dies ermöglicht. Wir werden das im Tutorial behandeln. | ||
|
||
Auch diese Einschränkung dient der Sicherheit des Benutzers. Eine Seite von `http://anysite.com`, die ein Benutzer geöffnet hat, darf nicht in der Lage sein, auf einen anderen Browser-Tab mit der URL `http://gmail.com` zuzugreifen und Informationen von dort zu stehlen. | ||
- JavaScript kann leicht über das Netz mit dem Server kommunizieren, von dem die aktuelle Seite stammt. Aber seine Fähigkeit, Daten von anderen Seiten/Domains zu empfangen, ist eingeschränkt. | ||
Obwohl es möglich ist, erfordert es eine ausdrückliche Zustimmung (ausgedrückt in HTTP-Headern) von der entfernten Seite. Auch dies ist eine Sicherheitseinschränkung. | ||
Diese Einschränkung dient wiederum der Sicherheit des Benutzers. Eine Seite von `http://anysite.com`, die ein Benutzer geöffnet hat, darf nicht in der Lage sein, auf einen anderen Browser-Tab mit der URL `http://gmail.com` zuzugreifen, um von dort Informationen zu stehlen. | ||
- JavaScript kann leicht über das Netz mit dem Server kommunizieren, von dem die aktuelle Seite abgerufen wurde. Aber die Möglichkeit, Daten von anderen Seiten/Domains zu empfangen, ist eingeschränkt. Obwohl es möglich ist, erfordert es eine ausdrückliche Zustimmung (in HTTP-Headern angegeben) von der entfernten Seite. Noch einmal, das ist eine Sicherheitseinschränkung. | ||
Auch wenn es möglich ist erfordert es eine ausdrückliche Zustimmung (ausgedrückt in *HTTP-Headern*) von der anderen Seite. Auch dies ist eine sicherheitsbedingte Einschränkung. | ||
|
||
 | ||
|
||
Solche Einschränkungen bestehen nicht, wenn JavaScript außerhalb des Browsers, z.B. auf einem Server, verwendet wird. Moderne Browser erlauben auch Plugins/Erweiterungen, die unter Umständen nach erweiterten Rechten fragen. | ||
Solche Einschränkungen bestehen nicht, wenn JavaScript außerhalb des Browsers, z. B. auf einem Server, ausgeführt wird. Moderne Browser erlauben auch Plugins/Erweiterungen, die unter Umständen nach erweiterten Rechten fragen. | ||
|
||
## What makes JavaScript unique? | ||
## Was macht JavaScript einzigartig? | ||
|
||
Es gibt mindestens *drei* großartige Dinge über JavaScript: | ||
Es gibt mindestens *drei* großartige Eigenschaften, welche JavaScript auszeichnen: | ||
|
||
```compare | ||
+ Volle integration in HTML und CSS. | ||
+ Volle Integration in HTML und CSS. | ||
+ Einfache Dinge werden einfach gemacht. | ||
+ Unterstützung von allen gängigen Browsern und standardmäßig aktiviert. | ||
+ Wird von allen gängigen Browsern unterstützt und ist standardmäßig aktiviert. | ||
``` | ||
JavaScript ist die einzige Browser-Technologie, die diese drei Dinge vereint. | ||
|
||
Das macht JavaScript einzigartig. Deshalb ist es das am weitesten verbreitete Werkzeug zur Erstellung von Browser-Oberflächen. | ||
|
||
Trotzdem erlaubt JavaScript auch die Erstellung von Servern, mobilen Anwendungen, etc. | ||
Davon abgesehen ermöglicht JavaScript auch die Erstellung von Servern, mobilen Anwendungen, usw. | ||
|
||
## Sprachen "über" JavaScript | ||
|
||
Die Syntax von JavaScript ist nicht für jeden geeignet. Verschiedene Menschen wollen unterschiedliche Funktionen. | ||
Die Syntax von JavaScript entspricht nicht jedem. Verschiedene Individuen bevorzugen verschiedene Funktionen. | ||
|
||
Das ist zu erwarten, denn Projekte und Anforderungen sind für jeden anders. | ||
|
||
So sind vor kurzem eine Fülle neuer Sprachen erschienen, die in JavaScript *transpiled* (konvertiert) werden, bevor sie im Browser laufen. | ||
So sind in letzter Zeit eine Fülle neuer Sprachen erschienen, die in JavaScript *transponiert* (konvertiert) werden, bevor sie im Browser laufen. | ||
|
||
Moderne Werkzeuge machen die Transpilation sehr schnell und transparent und erlauben es den Entwicklern tatsächlich, in einer anderen Sprache zu programmieren und diese "unter der Haube" automatisch zu konvertieren. | ||
Moderne Werkzeuge ermöglichen eine sehr schnelle und transparente Konvertierung, die es den Entwicklern tatsächlich erlauben in einer anderen Sprache zu programmieren, die diese dann, für die Entwickler nicht ersichtlich, automatisch konvertieren. | ||
|
||
Beispiele für solche Sprachen sind: | ||
|
||
- [CoffeeScript](http://coffeescript.org/) ist ein "syntactic sugar" für JavaScript. Es führt eine kürzere Syntax ein, was uns erlaubt, klareren und präziseren Code zu schreiben. Usually, Ruby devs like it. | ||
- [TypeScript](http://www.typescriptlang.org/) ist darauf konzentriert "strict data typing" hinzuzufügen. TypeScript verfolg das Ziel den Entwicklungsprozess und den Support für komplexe Systeme zu vereinfachen. Die Sprache wurde von Microsoft entwickelt. | ||
- [Flow](http://flow.org/) fügt auch "data typing" hinzu, aber auf eine andere Art und Weise. Sie wurde von Facebook entwickelt. | ||
- [Dart](https://www.dartlang.org/) ist eine eigenständige Sprache, die eine eigene Engine hat, die in Nicht-Browser-Umgebungen (wie z.B. mobilen Anwendungen) läuft, aber auch in JavaScript umgesetzt werden kann. Sie wurde von Google entwickelt. | ||
- [CoffeeScript](http://coffeescript.org/) ist eine vereinfachte Schreibweise für JavaScript. Es führt eine kürzere Syntax ein, die es uns erlaubt, eindeutigeren und präziseren Code zu schreiben. Normalerweise mögen es Ruby-Entwickler. | ||
- [TypeScript](http://www.typescriptlang.org/) konzentriert sich auf das Hinzufügen einer "strengen Datentypisierung", um die Entwicklung und Unterstützung komplexer Systeme zu vereinfachen. Es wird von Microsoft entwickelt. | ||
- [Flow](http://flow.org/) fügt auch die Datentypisierung hinzu, jedoch auf andere Art und Weise. Entwickelt von Facebook. | ||
- [Dart](https://www.dartlang.org/) ist eine eigenständige Sprache, die eine eigene Engine besitzt, die in Nicht-Browser-Umgebungen (wie mobilen Anwendungen) läuft, aber auch in JavaScript transponiert werden kann. Entwickelt von Google. | ||
|
||
Es gibt noch mehr. Auch wenn wir eine der transpilierten Sprachen verwenden sollten wir auch JavaScript trozdem kennen. Es ist wichtig zu verstehen, was im Hintergrund passiert und was wir eigentlich tun. | ||
Es gibt noch mehr. Natürlich sollten wir, selbst wenn wir eine der transponierten Sprachen verwenden, auch JavaScript beherrschen, um zu verstehen, was wir tun. | ||
|
||
## Zusammenfassung | ||
|
||
- JavaScript wurde ursprünglich als reine Browser-Sprache entwickelt, wird aber mittlerweile auch in vielen anderen Umgebungen eingesetzt. | ||
- Heute hat JavaScript eine einzigartige Position als die am weitesten verbreitete Browsersprache mit voller Integration in HTML/CSS. | ||
- Es gibt viele Sprachen, die auf JavaScript "transponiert" werden und bestimmte Funktionen bieten. Es wird empfohlen, sich diese zumindest kurz anzuschauen, nachdem man JavaScript beherrscht. | ||
- Es gibt viele Sprachen, die in JavaScript "transponiert" werden und bestimmte Funktionen bieten. Es wird empfohlen, sich diese zumindest kurz anzuschauen, nachdem du JavaScript beherrscht. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Dieser Absatz gehört zum Vorherigen. Kann also gelöscht werden, wenn du den Vorschlag oben annimmst. Andernfalls bitte richtig formatieren.