Modernes JavaScript mit ES6–ES13 (JS-Tutorial)

Modernes JavaScript mit ES6–ES13 (JS-Tutorial)

Webdesign, CMS & Entwicklung 28 Videos · 6.6 h Video-Training · Deutsch Stephan Haewß von Stephan Haewß

JavaScript hast du drauf, doch bei den Features neuerer JS-Versionen hapert es? Dann bist du in diesem Kurs richtig! Lerne alle Funktionen von ES6 bis ES13 kennen, die in der Praxis am häufigsten gebraucht werden und dir den größten Nutzen bringen – für einen verständlicheren, schlankeren, einfacher wartbaren Code mit geringerer Fehleranfälligkeit. Dein Trainer: Software-Entwickler Stephan Haewß. Deine Trainingseinheit: über 6 Stunden. Dein Lernerfolg: Als Webentwickler schreibst du ab sofort modernes JavaScript!

  • Verbessere deinen Code für Webseiten und Web-Apps mit modernen JavaScript-Funktionen
  • Lerne alle praxisrelevanten und nutzbringenden Features von ES6 bis ES13 detailliert kennen
  • Schreibe schlanken, fehlerminimierten, einfach wartbaren Code
  • Ein über 6-stündiges Tutorial von Software-Entwickler Stephan Haewß

Entdecke, was für die Skriptsprache JavaScript seit ECMAScript 6 Neues und Wichtiges hinzukam – mit einem einzigen, umfassenden Tutorial!

Inhalt

28 Videos, 394 Minuten

Intro zum Kurs

1 Videos · 2 Minuten
01 Offen

JavaScript ES6–ES13: 1 | Was erwartet dich im Kurs?

Das erwartet dich in diesem JavaScript ES6-Kurs.

01

JavaScript ES6–ES13: 1 | Was erwartet dich im Kurs?

2 min Offen

Einleitung

2 Videos · 13 Minuten
02 Offen

JavaScript ES6–ES13: 2.1 | Warum ES6? Kann ich nicht beim guten alten JavaScript bleiben?

JavaScript gibt es schon seit vielen Jahren in Browsern. So gut wie jede Webseite beinhaltet mal mehr mal weniger JS-Code. Obwohl die ersten Versionen noch sehr holprig waren, ließ sich bisher mit dem Standard ES5 ganz gut arbeiten, zumindest wenn man die Fallstricke und Unwägbarkeiten geschickt umschiffen konnte. Warum also etwas Neues lernen und nicht beim Bewährten bleiben? In dieser Lektion zeige ich die Vorteile des neuen Standards ES6 und die Gründe, warum man eigentlich nicht auf diesen verzichten kann.

03 Offen

JavaScript ES6–ES13: 2.2 | Entwicklungsumgebung einrichten

Diese Lektion stellt eine Möglichkeit vor, eine Entwicklungsumgebung einzurichten. Dabei verwenden wir als IDE Visual Studio Code von MS und ViteJS als Dev-Server.

02

JavaScript ES6–ES13: 2.1 | Warum ES6? Kann ich nicht beim guten alten JavaScript bleiben?

7 min Offen
03

JavaScript ES6–ES13: 2.2 | Entwicklungsumgebung einrichten

6 min Offen

ECMAScript: ES6 bis ES13 – die neuen Features

24 Videos · 369 Minuten
04 Offen

JavaScript ES6–ES13: 3.1 | Variablendeklaration mit let und const versus var

Bis einschließlich ES5 war das Keyword var die einzige Möglichkeit, Variablen zu deklarieren, und sorgte mit seinen Eigenheiten oft für ungewolltes Verhalten oder sogar Fehler. ES6 schickt die zwei neuen Keywords let und const ins Rennen, die einige Unzulänglichkeiten von var ausbügeln.

05 Offen

JavaScript ES6–ES13: 3.2 | For-Schleife

Die For-Schleife kennt jeder Webentwickler. Sie wird auch oft für das Durchlaufen von Arrays verwendet. Mit ES6 gibt es eine Variante der For-Schleife, die dies wesentlich kürzer und kompakter erlaubt.

06 Offen

JavaScript ES6–ES13: 3.3 | Arrow-Functions

Funktionen sind in JS essenziell und wurden bisher nur über das Keyword function deklariert und definiert. ES6 führt eine sehr elegante und kurze Schreibweise ein, die den Code nicht nur lesbarer macht, sondern auch eine Lösung für ein leidiges Problem mit this bietet.

07 Offen

JavaScript ES6–ES13: 3.4 | Optionale Funktionsparameter

Optionale Parameter lassen sich in ES5 etwas umständlich realisieren und offenbaren sich dem Aufrufer einer Funktion nicht. Mit ES6 können optionale Parameter mit ihren Standardwerten direkt in die Funktionssignatur geschrieben werden.

08 Offen

JavaScript ES6–ES13: 3.5 | Destructuring

Das Destructuring erlaubt das gezielte Extrahieren von Elementen aus Objekten und Arrays. Bei genauem Hinsehen ergeben sich viele Anwendungsmöglichkeiten, die JS-Code eleganter und kompakter machen.

09 Offen

JavaScript ES6–ES13: 3.6 | Rest-Parameter

Das Hantieren mit der arguments-Variable war bis ES6 nötig, um eine variable Anzahl an Parametern bei Funktionen zu erlauben. Dies ist in ES6 viel einfacher mit den sogenannten Rest-Parametern möglich.

10 Offen

JavaScript ES6–ES13: 3.7 | Rest-Operator

Nicht nur bei Funktionsdefinitionen kommt der …-Operator bei Rest-Parametern zum Zuge, auch beim Array-Destructuring lässt er sich verwenden, um eben den „Rest“ der Elemente aufzufangen und als Array zur Verfügung zu stellen.

11 Offen

JavaScript ES6–ES13: 3.8 | Rest-Operator mit Objekten

Nicht nur bei Arrays lässt sich der Rest-Operator verwenden, auch bei Objekten kann er die restlichen Properties auffangen und als Objekt zur Verfügung stellen.

12 Offen

JavaScript ES6–ES13: 3.9 | Spread-Operator bei Arrays

Das Gegenteil vom Rest-Operator ist der Spread-Operator. Er sieht genauso aus (…), steht aber auf der anderen Seite einer Zuweisung und breitet das Array in seine Einzelteile aus.

13 Offen

JavaScript ES6–ES13: 3.10 | Spread-Operator bei Objekten

Der „Trick“ mit dem Spread-Operator funktioniert auch bei Objekten sehr gut. Damit lassen sich Objekte in andere Objekte „hineinmischen“. Mit Object.assign() gibt es hierfür allerdings auch eine sehr gute Alternative.

14 Offen

JavaScript ES6–ES13: 3.11 | Methodendeklaration in Objektliteralen

Funktionen in Objektliteralen sind sehr sperrig zu schreiben mit dem function-Keyword. Mit ES6 lassen sie sich aber auch viel kürzer und eingängiger schreiben.

15 Offen

JavaScript ES6–ES13: 3.12 | Nützliche und neue String-Funktionen

Mit Zeichenketten zu hantieren, gehört zum Basiswerkzeug eines jeden Programmierers. Gut, dass ES6 einige neue und sehr nützliche String-Funktionen bietet, die einiges an Schreibarbeit sparen.

16 Offen

JavaScript ES6–ES13: 3.13 | Template-Literale

Man kann es nicht anders sagen: Mehrzeilige String-Literale mit integrierten Variablenwerten waren bis ES6 eine Qual und auch sehr unangenehm zu lesen. Die neuen Template-Literale von ES6 sind dagegen eine syntaktische Wohltat.

17 Offen

JavaScript ES6–ES13: 3.14 | Nützliche neue Array-Funktionen (find, filter, map, reduce ...)

Schon mit ES5 gibt es einige sehr nützliche Array-Funktionen, die einen mehr funktionalen Ansatz verfolgen. ES6 hat diesen noch ein paar andere hinzugefügt, die den Umgang mit Arrays noch angenehmer machen. Einige der „alten“, schon in ES5 vorhandenen Funktionen werden hier aber auch gewürdigt.

18 Offen

JavaScript ES6–ES13: 3.15 | Map als Wörterbuch und Key Value Store

Objekte ließen sich schon immer als ein Key-Value-Store oder Dictionary missbrauchen, allerdings mit einigen Nachteilen. Die neue Map-Datenstruktur entledigt sich dieser Nachteile und bietet solide Wörterbuch-Funktionalität, wie man es aus anderen Programmiersprachen kennt.

19 Offen

JavaScript ES6–ES13: 3.16 | Promises

Asynchrone Vorgänge können mit Callback-Funktionen behandelt werden, jedoch besteht dabei die Gefahr, dass die Verschachtelungstiefe zu groß und der Code dann unübersichtlich wird (die sogenannte Callback-Hell). Promises beheben dieses Problem, indem sie tiefe Verschachtelungen umgehen und eine Verkettung von asynchronen Vorgängen auf einer Ebene erlauben.

20 Offen

JavaScript ES6–ES13: 3.17 | Async und await

Nachdem mit Promises die Callback-Hell vermieden werden kann, legt das async/await-Konstrukt noch eine Schippe drauf beim syntaktischen Zucker. Es baut auf Promises auf und erlaubt es, asynchrone Vorgänge fast wie synchrone zu programmieren. Wer einmal mit async/await programmiert hat, meidet fortan die direkte Verwendung der then-Methode von Promises (und erst recht die Verwendung von Callbacks).

21 Offen

JavaScript ES6–ES13: 3.18 | Module

In Node.js werden Module schon von Anfang an verwendet, jedoch setzte es zu Anfang ausschließlich auf das CommonJS-Modulformat mit require. Seit ES6 gibt es eine Moduldefinition im Standard und damit die neuen Keywords import/export. Mittlerweile wird dieses Format bei fast allen (neuen) JS-Bibliotheken unterstützt, und auch Node.js kann damit in den neuesten Versionen umgehen.

22 Offen

JavaScript ES6–ES13: 3.19 | Dynamische Importe

Neben dem statischen Importieren von Modulen mit dem Keyword import, unterstützt ES6 auch das dynamische Importieren mit der import-Funktion. Da das Ganze asynchron funktioniert, wird ein Promise zurückgeliefert, auf dessen Auflösung man vorzüglich mithilfe von await warten kann. Damit steht dem Nachladen von Modulen während der Laufzeit zu beliebigen Zeitpunkten nichts mehr im Weg.

23 Offen

JavaScript ES6–ES13: 3.20 | Klassen mit class

Das klassische objektorientierte Programmieren mit Klassen und Vererbung gab es bis zu ES6 nur über den Umweg eines Prototyps bei einer Konstruktor-Funktion. Das war umständlich, wirkte wenig kompakt und war deswegen auch fehleranfällig. Das neue Keyword class erlaubt nun mit ES6 die Definition in kompakter Form, so wie man es von anderen Programmiersprachen wie Java, C# und C++ kennt. Intern bleibt es aber ein grundlegend prototypenbasiertes System, nur mit schönerer Syntax.

24 Offen

JavaScript ES6–ES13: 3.21 | Vererbung

Auch die Vererbung basiert weiterhin auf Prototypen, schreibt sich in ES6 mit dem Keyword extends allerdings wesentlich einfacher und übersichtlicher. Wenn man es verwendet, muss man den Konstruktor der Basisklasse zum richtigen Zeitpunkt mit super aufrufen. Wie das geht, wird in dieser Lektion natürlich auch erklärt.

25 Offen

JavaScript ES6–ES13: 3.22 | Felder in Klassen

Auch die Deklaration von Membern bzw. Feldern wurde mit den neueren Standards ermöglicht. Damit lassen sich auch statische Felder deklarieren und initialisieren.

26 Offen

JavaScript ES6–ES13: 3.23 | Private Felder

Auch private Felder lassen sich nun deklarieren, und an die kommt man auch garantiert nicht von außen heran. Ein wenig gewöhnungsbedürftig ist die Deklaration, die sich von anderen Programmiersprachen doch merklich unterscheidet.

27 Offen

JavaScript ES6–ES13: 3.24 | Ohne Klasse Objekte erzeugen

Mit dem neuen Keyword class und den zusammenhängenden Features wie Vererbung und Datenkapselung (private Felder) müssten doch eigentlich alle OO-Programmierer zufrieden sein, oder? Ich möchte in dieser Lektion eine Alternative für das Erstellen von Objekten vorstellen, die ganz ohne Klassen, Prototypen und this auskommt, dafür aber eine flexiblere Art der „Vererbung“ bzw. besser „Komposition“ erlaubt.

04

JavaScript ES6–ES13: 3.1 | Variablendeklaration mit let und const versus var

19 min Offen
05

JavaScript ES6–ES13: 3.2 | For-Schleife

13 min Offen
06

JavaScript ES6–ES13: 3.3 | Arrow-Functions

19 min Offen
07

JavaScript ES6–ES13: 3.4 | Optionale Funktionsparameter

11 min Offen
08

JavaScript ES6–ES13: 3.5 | Destructuring

12 min Offen
09

JavaScript ES6–ES13: 3.6 | Rest-Parameter

7 min Offen
10

JavaScript ES6–ES13: 3.7 | Rest-Operator

4 min Offen
11

JavaScript ES6–ES13: 3.8 | Rest-Operator mit Objekten

5 min Offen
12

JavaScript ES6–ES13: 3.9 | Spread-Operator bei Arrays

7 min Offen
13

JavaScript ES6–ES13: 3.10 | Spread-Operator bei Objekten

8 min Offen
14

JavaScript ES6–ES13: 3.11 | Methodendeklaration in Objektliteralen

3 min Offen
15

JavaScript ES6–ES13: 3.12 | Nützliche und neue String-Funktionen

19 min Offen
16

JavaScript ES6–ES13: 3.13 | Template-Literale

14 min Offen
17

JavaScript ES6–ES13: 3.14 | Nützliche neue Array-Funktionen (find, filter, map, reduce ...)

36 min Offen
18

JavaScript ES6–ES13: 3.15 | Map als Wörterbuch und Key Value Store

16 min Offen
19

JavaScript ES6–ES13: 3.16 | Promises

23 min Offen
20

JavaScript ES6–ES13: 3.17 | Async und await

29 min Offen
21

JavaScript ES6–ES13: 3.18 | Module

29 min Offen
22

JavaScript ES6–ES13: 3.19 | Dynamische Importe

12 min Offen
23

JavaScript ES6–ES13: 3.20 | Klassen mit class

8 min Offen
24

JavaScript ES6–ES13: 3.21 | Vererbung

18 min Offen
25

JavaScript ES6–ES13: 3.22 | Felder in Klassen

15 min Offen
26

JavaScript ES6–ES13: 3.23 | Private Felder

9 min Offen
27

JavaScript ES6–ES13: 3.24 | Ohne Klasse Objekte erzeugen

33 min Offen

Fazit

1 Videos · 9 Minuten
28 Offen

JavaScript ES6–ES13: 4 | Zusammenfassung und Ausblick

Die wichtigsten Features der Version ES6 und neuer sollten nun abgehandelt sein. Es kommen aber immer wieder Neuerungen hinzu. Einige weniger häufig gebrauchte Funktionen wurden noch nicht erwähnt. In dieser Lektion wird erläutert, was noch zu erwarten ist in Zukunft und welche Funktionen in Spezialfällen noch interessant sein könnten.

28

JavaScript ES6–ES13: 4 | Zusammenfassung und Ausblick

9 min Offen

Anwendungsbeispiele

  • Springe jetzt vom alten hin zum modernen JavaScript – in nur einem Tutorial!
    Galerie öffnen
    Springe jetzt vom alten hin zum modernen JavaScript – in nur einem Tutorial!
  • Lerne alle wichtigen, praxisrelevanten JS-Funktionen der Versionen ES6 bis ES13 kennen.
    Galerie öffnen
    Lerne alle wichtigen, praxisrelevanten JS-Funktionen der Versionen ES6 bis ES13 kennen.
  • Schreibe elegante, schlanke und leichter verständliche JavaScript-Codes.
    Galerie öffnen
    Schreibe elegante, schlanke und leichter verständliche JavaScript-Codes.
Kommentare (0)

Kommentiere jetzt „Modernes JavaScript mit ES6–ES13 (JS-Tutorial)“