Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.

TypeScript Tutorial deutsch: 6 Schritte-Guide mit Beispielen

TypeScript Coding Lab Steffen Lippke Guide Tutorials

Brauchst Du eine Einführung in TypeScript?

Angular, React und Ionic verwenden diese Sprache.

Was macht die Sprache so anders? Wie nutze ich TypeScript effizient?

Dieser Guide gibt Dir eine Schritt-für-Schritt-Einführung!

Starten wir!

Herausforderung: TypeScript verstehen

Du kannst mit TypeScript  z. B. einen Blog objektorientiert mit Beiträgen, Autoren, Kommentaren nachzustellen.

Der geschulte Java-Entwickler freut sich, wenn er mit TypeScript objektorientiert programmieren darf.

Das wäre hilfreich …

  • Etwas programmiert haben … z. B. mit JavaScript als Grundlage von TypeScript.
  • Grundlagen in der Kommandozeile
  • Admin-Reche, um Programme zu installieren und zu deinstallieren

Das brauchst Du am Computer

  • Admin-Rechte
  • Mehr als 5 GB RAM (besser 12 GB – 16 GB)
  • Code Editor
  • optional WSL für Windows Nutzer

Beispeil Editor (Visual Studio Code)

Neben dem Browser brauchst Du einen Code-Editor Deiner Wahl.

Notepad(++) kannst Du alternativ nutzen. Am besten verwendest Du einen Editor mit Syntax-Highlighting und IntelliSense wie z. B. Visual Studio Code oder Atom.

VS Code

Konzept: Warum TypeScript cool ist!

Typenfest zu programmieren hilft Dir einen Überblick über den Code zu behalten.

Was vielen Anfänger lästig erscheint, hilft Dir beim Programmieren von komplexen Projekten, weil Du die Übersicht behalten kannst.

Microsoft hat die Programmiersprache TypeScript entworfen, um mehr Ordnung in die Webprogrammierung hineinzubringen.

Was ist eine Typisierung überhaupt? TypeScript erlaubt dem Programmierer, Variablen mit einer Typisierung zu verwenden, z. B. let date:Date; oder let text:string = ""

Dies erlaubt ein einfacheres, objektorientiertes Programmieren. Konstruiere Deine eigenen Objekte und Strukturen.

JavaScript Next-Generation

Gültiger JavaScript Code ist gültiger TypeScriptcode!

Wenn Du JavaScript kannst, dann musst Du nicht mehr viel lernen. TypeScript erweitert die Möglichkeiten-Palette von JavaScript und bietet eine Reihe von Vereinfachungen.

Angulars stenger Compiler (Strict) verpflichtet Dich, den Typen-losen JavaScript-Code in „ausformulierten“ TypeScript Code umzuwandeln. Damit gehst Du sicher, dass Du immer Parametern, Variablen und Rückgabewerte typisierst.

5 Gründe – TypeScript ist besser als JavaScript

  • Einfachere Typisierung (optional) von Variablen:
    Java besitzt eine strenge Typisierung. Jede Variable weist der Java-Code einem Typ zu. Dies hilft dem Programmierer für die Orientierung im Code.
  • Einfaches Refactoring wegen Typisierung:
    Wenn Du auf die Idee kommst, dass eine Variable nicht Deinem Benennung-Standard entspricht, kannst Du die Variable einfach umbenennen.
  • ECMAScript bis 3:
    Die Programmiersprache JavaScript hat seit dem Jahr 1995 mehrere Updates erhalten, die den Funktionsumfang der Script-Sprache erweitern. Der TypeScript-Compiler kann den TypeScriptcode verständlich in JavaScript kompilieren.
  • Beliebt und notwendig:
    TypeScript verwendet in verschiedenen Web-Frameworks wie Angular und Ionic
  • Dependency Injection:
    … vereinfacht das Testen mit TypeScript.
Angular verwendet
Angular mit TypeScript

Basics: TypeScript Grundlagen

Was zum Henker ist TypeScript?

Zu Beginn möchte ich Dir ein paar zentrale Begriffe von TypeScript erklären. Klassen, Namespaces und Module sind Konzepte, die Dich beim Programmieren unterstützen können.

TypeScript Klassen verstehen

  • Klasse: Mit Klassen kannst Du die Realität als abstrahiertes Model abbilden. Als Programmierer versuchst Du die Realität in einer vereinfachten Form in den Computer zu übertragen. Eine Klasse kann z. B. Attribute beinhalten:
    class Person{
    name:string;
    }
  • Extends: Der Befehl erweitert eine bestehende Klasse mit einer Super-Klasse. Die Unterklasse „erbt“ alle Variablen und Funktionen von der Super-Klasse. Der super(); Befehl initialisiert die Variablen der Super-Klasse.
    class Hirsch extend Tier {
    constructor( ){
    super(„typ3“
    }
    }

Module managen – Import + Export von Namespaces

  • Namespace: Ein Namespace verhindert, dass gleich benannte Variablen sich gegenseitig stören. Ein Namespace kann Klassen, Interfaces und Variablen beinhalten. Es ist möglich, dass Du in einer Datei mehre Variablen mit den gleichen Namen verwenden kannst. Trotzdem solltest Du das nie machen, weil das Deine Orientierung im Code stört.
    namespace PersonalModul{
    // neuer Namensraum ohne Überschneidung nach außen
    }
  • Module: Interne Module sind Namespaces und externe Module sind normale Module. Bevor Du ein Modul importierst, muss Du einen Export in der Quelldatei deklarieren.
  • Export: Das Statement macht die Klasse, Interface oder Variable nach außen sichtbar / verwendbar.
    class Person{

    }
    export { Person };
  • Import: Am Anfang einer Datei kann der Entwickler mit dem import-Befehl Module von außerhalb einbinden.
    import { Person } from "./Person";
  • Interfaces: … sind Zusammenstellungen von Variablen, die in einem Zusammenhang immer vorkommen sollen.

Coden: Ab in die Praxis

Jetzt wird’s ernst.

Wir erstellen mit diesen Schritten Dein erstes TypeScriptprogramm.

Etwas Praxis hilft bei dem Verständnis:

JavaScript nenne ich eine „Anfänger-freundliche“ Programmiersprache, weil das Programm nicht direkt komplett abstürzt und teilweise funktional bleibt.

Denke daran, dass JavaScript in purer Form gültiger TypeScriptcode ist!

Variablen-Typen

  • let-Variablen sind nur innerhalb der geschweiften Klammern erreichbar. Ein Aufruf von außen geht ins Leere (undefinded).
    let text:string = "mein super text";
  • const-Variablen deklariert der Programmierer am Anfang einer Datei, die global in allen Funktionen als eine Konstante verwendbar ist. Bei Java unterscheidest Du Float, Double, Short usw. TypeScript kennt nur number.
    const PI:number = 3.141;
  • var kannst Du wie in JavaScript verwenden.
    var normaleVariable:number = 42;
  • Typisierung sind für Dezimal-, Binär-, Hexadezimal- und Oktal-Zahlen möglich.
    const hexa:number = 23a23ff;
    Strings…
    let text:string = „Das ist Text“;
    Array…
    let textlist:string[] = [„Alle“, sind“, „gut“];

Iteratoren

  • for … of
    kann durch einen Array iterieren und gibt die WERTE ("Tag","Nacht","Morgen") im Array zurück.
    for(let entry of blogEntries) {
    console.log(entry)
    }
  • for … in
    kann druch einen Array iterieren und gibt die SCHLÜSSEL (0,1,2..) im Array zurück.
    for(let keys in blogEntries) {
    console.log(keys)
    }

Funktionen

… können in TypeScript typisiert sein. Die Parameter und die Rückgabewerte sollten im Typ festgelegt sein.

function addStringAndText(figure:number, text:string):string{return toString(figure) + text;}

Die häufigste Buchstabenfolge, mit der Dich TypeScript beglückt, ist this. . Wenn Du ein Variable außerhalb der geschweiften Klammer ansprechen möchtest, setze ein this. vor den Variablennamen:

const PI:number = 3.141;
function calculateCircle(r:number){
return r*r*this.PI
}

01 Projektsturktur
01 Projektstruktur – TypeScript Tutorial Deutsch Coding Lab

Installation von TypeScript bis Hello World

Downloade Dir Node.js.

Installiere Node.js mit dem grafischen Installer, um NPM in der Konsole zu nutzen.

Führe als Befehl in der CMD / Bash aus
npm install -g typescript

Erstelle einen Projekt-Ordner mit einer …

HTML-Basis-Datei index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Typescript Tutorial</title>
    <script src="main.js"></script>
</head>

<body>
</body>
</html>

TypeScript-Datei main.ts

import { differenceInYears } from 'date-fns';
import { Author } from './Author';
import { BlogEntry } from './BlogEntry';

var markHartmann = new Author("Mark Hartmann", new Date('December 17, 1995 03:24:00'), "Gartenstraße 4");
console.log(markHartmann.toString());

let yearsOld = differenceInYears(Date.now(), markHartmann.birthday);
console.log("Mark is " + yearsOld + " years old.");

let seriesOfBlogPosts = [];

for (let blogID = 0; blogID < 10; blogID++) {
    seriesOfBlogPosts.push(new BlogEntry("Cool Title " + blogID, new Date('December 3, 2095 03:24:00'), "Text " + blogID, markHartmann));
}
seriesOfBlogPosts.forEach(entry => {
    console.log(entry.toString());
})

Füge eine tsconfig.json hinzu:

{
    "scripts": {
        "clean": "rimraf dist",
        "start": "npm-run-all clean --parallel watch:build watch:server --print-label",
        "watch:build": "tsc --watch",
        "watch:server": "nodemon './dist/index.js' --watch './dist'"
    }
}

CSS-Datei für die Stylesheets

Der Befehl
tsc *.ts --watch
überwacht alle Änderungen in den TypeScriptdateien. Sobald eine Änderung erkannt ist, kompiliert der TypeScriptcompiler die Datei in JavaScript.

Füge die von dem TypeScript Compiler generierte JavaScript-Datei in HTML ein.
<script src="main.js"></script>

Schreibe in die main.ts
alert(„HelloWorld“);

Rufe die HTML-Datei in Deinem Browser auf. Du brauchst keinen XAMPP zwingend zu verwenden.

Die Konsole sollte nach dem Speichern von main.ts die Änderungen zu der JavaScript-Datei automatisch kompilieren.

00 tsc watch
tsc watch

Programmieren mit TypeScript einfach

Lösche
alert(„HelloWorld“);
damit wir eine etwas umfangreicheres Projekt starten können.

Erstelle die Dateien Author.ts und BlogEntry.ts, um die Klassen voneinander zu trennen

Author.ts

export class Author {

    name: string;
    birthday: Date;
    address: string;

    constructor(public nameIn: string, public birthdayIn: Date, public addressIn: string) {
        this.name = nameIn;
        this.birthday = birthdayIn;
        this.address = addressIn;
    }
    toString(): String {
        return "Name: " + this.name + ", Geburtstag: " + this.birthday + ", Adresse: " + this.address;
    }
}

BlogEntry.ts

import { Author } from './Author';

export class BlogEntry {
    title: string;
    publishedAt: Date;
    text: String;
    author: Author;

    constructor(public titleIn: string, public publishedAtIn: Date, public textIn: string, public authorIn: Author) {
        this.title = titleIn;
        this.publishedAt = publishedAtIn;
        this.text = textIn;
        this.author = authorIn;
    }

    toString() {
        return "Titel: " + this.title + ", publishedAt: " + this.publishedAt + ", text" + this.text + ", author: " + this.author.name;
    }
}

Speichere die Dateien.

Lade den Browser neu

Gebe in die Konsole
npm install date-fns
ein, um ein Datumsformat-Paket zu installieren

Gebe in die Konsole
npm install --save typescript nodemon npm-run-all rimraf
ein, um ein Säuberungstool für die Build-Vorgänge zu installieren.

Gebe in die Konsole
npm i nodemon
um die Änderungen in Echtzeit innerhalb der Konsole zu betrachten

Erstelle ein tsconfig.json, wo Du alle Compiler Einstellungen für den Build

Start mit
tsc –watch
die automatische Kompilierung der TypeScriptdateien zu JavaScript

Starte die Echtzeit-Ausgabe von Nodemon mit dem Wort
nodemon
INNERHALB eines anderen Terminals, sodass der TypeScript-Compiler ungestört weiterarbeiten kann. In dem Terminal-Fenster, wo Du Nodemon gestartet hast, sollten alle Konsolen-Ausgaben zu sehen sein. Dort kannst Du Deine Ergebnisse überprüfen.

02 Ideale Ausgabe mit Nodemon - TypeScript Tutorial Deutsch Coding Lab
02 Ideale Ausgabe mit Nodemon – TypeScript Tutorial Deutsch Coding Lab
03 Automatisch erstellen sich JavaScript Dateien -  Tutorial Deutsch Coding Lab
03 Automatisch erstellen sich JavaScript Dateien – Tutorial Deutsch Coding Lab

Erklärungen zum Code

Das import { X } from ‚X‘; fügt den Code über eine Codeinjektion in das main.ts-Script ein. Eine Klasse besteht aus den Attributen mit den Typen (optional), dann folgt der Konstruktor zur Initialisierung der Klasse.

Erweiterungen: Wie kann ich TypeScript erweitern?

Hast Du noch nicht genug von dem TypeScript Tutorial?

Dann füge mehrere Node Module hinzu.

Wichtigste NPM Befehle

Um mit TypeScript richtig durchzustarten, solltest Du die wichtigsten NPM-Befehle und Tricks kennen, um externe Module zu nutzen.

Andere JavaScript / TypeScript Entwickler haben in den letzten Jahren Module zu Zeit-Formatierung, UI-Elemente, Algorithmen usw. entwickelt.

NPM für mehr Möglichkeiten - TypeScript Tutorial Deutsch Coding Lab
NPM für mehr Möglichkeiten
  • Nach dem Auschecken aus dem Repo, kannst Du die Node.js Module nachinstallieren, weil diese aufgrund von Speicherplatz nicht in dem Repo abgelegt sind:
    npm i
  • Wenn Du ein neues Modul benötigst, installiert der Befehl
    npm i modulName
    das Modul. Über ein import Statement
    import {modulName} from 'modulname';
    kann die TypeScriptdatei das Modul erreichen

Super-Geheime NPM-Tricks für TypeScript. [Teilen verboten]

  • Falls Du den node_modules Ordner löschen willst, verwende Rimraf
    npm install rimraf -g
    oder bei Linux
    rm -rf node_modules
    Je nach Größe des Projekts kann eine Löschung länger dauern, weil Node.js eine sehr verschachtelte Struktur verwendet. Lösche mit
    rimraf node_modules
  • Meiner Erfahrung nach „spinnt“ Node.js alle 3-4 Tage. Lösche einfach den Cache
    npm cache clean –force
  • Einzelne Module kannst Du mit
    npm uninstall modulName
  • Die Node.js Entwickler updaten Ihre Module regelmäßig. Wegen neuen Versionen musst Du eventuell Deinen Code anpassen. Update die Module mit
    npm update
    um kritische Fehler / Bugs / Vulnerabilitäten zu eliminieren.
  • Du kannst mit Node.js Module global oder lokal installieren. Module wie Ionic, Angular oder Rimraf installieren andere Module und erstellen eigen Projekte. Das -g am Ende des Installationsbefehls bewirkt die Installation innerhalb des Benutzerordners / AppData stattfindet.
    npm i ionic -g

Fazit: Dein erstes TypeScript-Script

TypeScript ist sehr vielseitig einsetzbar.

Probiere Dich aus.

  • Schreibt von Fehlermeldungen, die auftreten …
  • Kritik mit Verbesserungsvorschlägen für das Tutorial
  • Installationsprobleme von TypeScript …

Danke. Ich freue mich auf Euer Feedback


Danke fürs Lesen! Erhalte weitere Tutorials in meinem kostenlosen Newsletter.
Jeden Monat teile ich mit Dir 4 neue praxisnahe Tutorials.
Trage Deine Mail zum kostenlosen Empfang des Newsletters* ein.




Quellenangabe Bilder: Icons und SVG-Grafiken im Titelbild von Microsoft PowerPoint 2019, frei verfügbar nach EULA
*) Mit dem Abonnement des Newsletters erklären Sie sich mit der Analyse des Newsletters durch individuelle Messung, Speicherung und Analyse von Öffnungsraten und der Klickraten in Profilen zu Zwecken der Gestaltung künftig besserer Newsletter einverstanden. Sie können die Einwilligung in den Empfang des Newsletters und die Messung mit Wirkung für die Zukunft widerrufen. Mehr in der Datenschutzerklärung.

Kommentare 5

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.