Schulung JavaScript/ECMAScript und TypeScript

Beschreibung/Inhalt

Dieser Crashkurs eignet sich für in der objektorientierten Programmierung (z.B. mit Java, C#, C++) sehr erfahrene Entwickler, die in kurzer Zeit die wichtigsten Syntaxkonstrukte von der Skriptsprachen JavaScript und TypeScript erlernen wollen. Für eine ausführliche Erörterung empfehlen wir hingegen folgende Schulungsmodule:
1. JavaScript-Basiswissen
2. JavaScript-Aufbauwissen
3. TypeScript

# Die Skriptsprache JavaScript

  • Grundkonzepte von JavaScript
  • Unterschiede zu C#/C++/Visual Basic/Java u.a.
  • Variablen und Datentypen in JavaScript sowie Ermittlung von Typen
  • Kontrollstrukturen (Schleifen, Bedingungen etc.)
  • Booleans, truthy und falsy und der Vergleichsoperator
  • Funktionen, funktionale Programmierung und Closures
  • Verwatung von Objekten und Objektmengen (z.B. Array, ArrayBuffer, Set, Map, WeakMap, WeakSet, WeakRef, Proxy)
  • Objektorientierte Programmierung mit Objektliteralen, Konstruktorfunktionen und Prototypen
  • Das Function-Objekt und this
  • Hilfsfunktionen und eingebaute Objekte (z.B. JSON, Math,
  • asychrone Programmierung: Promise, async, await
  • Module-Muster und IIFEs
  • Sonderfälle und besondere Konstrukte


  • # TypeScript als Erweiterung zu JavaScript
  • Transpilation nach JavaScript
  • Konfiguration des TypeScript-Compilers (tsconfig.json)
  • Verbesserte Typisierung / TypeScript-Datentypen
  • var vs. let vs. const
  • Template Strings
  • for-of vs. for-in
  • Klassenbasiertes Programmieren: Klassen, Vererbung und Interfaces
  • Duck Typing
  • Destructuring
  • Vereinfachtes funktionales Programmieren: Funktionen und Lambdas (Arrow-Functions)
  • Vereinfachte asynchrone Programmierung mit async/await
  • Generics
  • Fehlerbehandlung
  • Module
  • Ambiente Deklarationen
  • Dekoratoren (Annotationen)
  • Iteratoren und Generatoren


  • # Best Practices für JavaScript und TypeScript
  • Zu vermeidende Sprachkonstrukte
  • Wartbaren Code schreiben
  • Coding Styles


  • # Werkzeuge
  • Web-Editoren wie Visual Studio, Visual Studio Code (VSCode), Webstorm/IntelliJ und Eclipse
  • Sinnvolle Erweiterungen des Webeditors (z.B. Plug-Ins für VSCode, Web Essentials für Visual Studio)
  • Aufbau eines Projekts/Projektstruktur
  • Ausführungsumgebungen: node.js und Browser
  • Transpilation, z.B. von TypeScript zu JavaScript
  • Präprozessoren, z.B. SASS/SCSS/LESS/Stylus für CSS
  • Debugger z.B. in Visual Studio, VSCode, Webstorm, Eclipse
  • Debugger in Browsern z.B. in Chrome
  • Die Paketmanager NPM, bower und nuget
  • Bundling, Lazy Loading und Hot Reloading mit Webpack, RequireJS oder SystemJS
  • Codegenerierung mit Yeoman
  • Qualitätssicherung mit Lintern wie ESLint, JSLint, JSHint, TSLint
  • Build-Automatisierung mit NPM-Skripten, gulp und grunt
  • Bundling mit Webpack, Parcel oder Browsify
  • Testautomatisierung, z.B. Jest, Mocha, Qunit, Cypress, Selenium, Nightwatch, WebdriverIO, Protractor, TestCafe, Playwright, Puppeteer, Chai, Expect.js, Code Coverage mit "Istanbul"
  • Continuous Integration / Continuous Delivery, z.B. mit GitHub, GitLab, Azure DevOps


  • Optional: Framework-spezifische CLI-Werkzeuge wie z.B. Angular CLI, Vue CLI, React CLI oder Cordova CLI

    Dauer
    Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
    Ort
    Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
    Schulungsdidaktik
    Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil