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

  • Einsatzgebiete von JavaScript (Browser, Server, Cloud, Konsole, Anwendungserweiterungen)
  • Entwicklungsumgebungen für JavaScript
  • Grundkonzepte: Sprachmerkmale und Paradigmen in JavaScript
  • Unterschiede zu C#/C++/Visual Basic/Java u.a.
  • Datentypen, Literale, Variablen, Konstanten, Gültigkeitsbereiche
  • var vs. let vs. const
  • Template Strings
  • Ermittlung von Typen und Typkonvertierung
  • Kontrollstrukturen (Schleifen, Bedingungen etc.)
  • Truthy und Falsy
  • Booleans, truthy und falsy und der Vergleichsoperator
  • Funktionen, Parameter, Rückgabewerte
  • Lambdas (Arrow-Functions)
  • Funktionale Programmierung und Closures, Immediately Invoked Function Expression (IIFE)
  • Verwatung von Objekten und Objektmengen (Array, ArrayBuffer, Set, Map, WeakMap, WeakSet, Int8Array, Float64Array u.a.)
  • Iteration und Manipulation von Mengen, Spread-Operator
  • Fehlerbehandlung mit Try-Catch und Throw
  • Objektorientierte Programmierung mit Objektliteralen, Konstruktorfunktionen und Prototypen
  • Klassen, Konstruktoren, Properties und Vererbung
  • WeakRef, Proxy
  • Das Function-Objekt und this
  • Hilfsfunktionen und eingebaute Objekte (z.B. JSON, Math)
  • Asychrone Programmierung: async, await, Callback-Funktionen, Promises
  • Iteratoren und Generatoren
  • Destructuring
  • Module
  • Sonderfälle und besondere Konstrukte
  • JavaScript-Patterns und Best Practices
  • Codequalität und Lesbarkeit


  • # TypeScript als Erweiterung zu JavaScript
  • Unterschiede zwischen TypeScript und JavaScript
  • Gründe für die Verwendung von TypeScript
  • Transpilation nach JavaScript
  • Einrichtung der TypeScript-Entwicklungsumgebung
  • Konfiguration des TypeScript-Compilers (tsconfig.json)
  • DatenTypen in TypeScript, Statische Typisierung vs. dynamische Typisierung, Typaliase
  • Typisierte Funktionen und Parameter
  • Erweitertes Klassenbasiertes Programmieren: Klassen, Vererbung und Interfaces
  • Duck Typing
  • Generics
  • Ambiente Deklarationen
  • Dekoratoren (Annotationen)


  • # 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 mit Projekt-Scaffoldung-Werkzeugen, z.B. Yeoman oder Framework-spezifische CLI
  • 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
  • Paketmanager, z.B. NPM, Yarn bower und nuget
  • Bundling, Lazy Loading und Hot Reloading mit Vite, Webpack, RequireJS oder SystemJS
  • Statische-Codeananalyse mit Lintern, z.B. ESLint, JSLint, JSHint, TSLint
  • Build-Automatisierung mit NPM-Skripten, gulp und grunt
  • Bundling mit Vite, 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