Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Leserstimmen zu TypeScript – Ein praktischer Einstieg
Titel
Impressum
Widmung
Inhalt
Vorwort Josh Goldberg
Vorwort zur deutschen Ausgabe
Teil I Konzepte
1 Von JavaScript zu TypeScript
Die Geschichte von JavaScript
Die Tücken von purem JavaScript
Kostspielige Freiheit
Schwache Dokumentation
Schwächere Entwicklertools
TypeScript!
Erste Schritte auf dem TypeScript-Spielplatz
TypeScript in Aktion
Freiheit durch Restriktion
Präzise Dokumentation
Bessere Entwicklertools
Kompilieren
Erste lokale Schritte
TypeScript lokal ausführen
Editor-Funktionen
Was TypeScript nicht ist
Ein Heilmittel für schlechten Code
Eine Erweiterung für JavaScript (größtenteils)
Langsamer als JavaScript
Ergebnis einer abgeschlossenen Entwicklung
Zusammenfassung
2 Das Typsystem
Was ist ein Typ?
Typsysteme
Fehlerarten
Zuweisbarkeit
Zuweisbarkeitsfehler verstehen
Typanmerkungen
Unnötige Typanmerkungen
Typformen
Module
Zusammenfassung
3 Vereinigungs- und Literaltypen
Vereinigungstypen
Deklaration von Vereinigungstypen
Eigenschaften von Vereinigungstypen
Type Narrowing
Type Narrowing durch Zuweisung
Bedingungsabhängige Prüfungen
typeof-Prüfungen
Literaltypen
Zuweisbarkeit von Literaltypen
Strikte Nullprüfung
Der Milliarden-Dollar-Fehler
Type Narrowing durch Wahrheitsprüfung
Variablen ohne Anfangswerte
Typaliase
Typaliase sind kein JavaScript
Typaliase kombinieren
Zusammenfassung
4 Objekte
Objekttypen
Deklaration von Objekttypen
Aliasing von Objekttypen
Strukturelle Typisierung
Verwendungsprüfung
Prüfung auf überzählige Eigenschaften
Verschachtelte Objekttypen
Optionale Eigenschaften
Vereinigungen von Objekttypen
Abgeleitete Vereinigungen von Objekttypen
Explizite Vereinigungen von Objekttypen
Type Narrowing von Objekttypen
Diskriminierte Vereinigungstypen
Schnittmengentypen
Gefahren von Schnittmengentypen
Zusammenfassung
Teil II Features
5 Funktionen
Funktionsparameter
Erforderliche Parameter
Optionale Parameter
Standard-Parameter
Restparameter
Rückgabetypen
Explizite Rückgabetypen
Funktionstypen
Klammersetzung bei Funktionstypen
Ableitung von Parametertypen
Typaliase für Funktionen
Weitere Rückgabetypen
void zurückgeben
never zurückgeben
Überladung von Funktionen
Kompatibilität der Aufrufsignaturen
Zusammenfassung
6 Arrays
Array-Typen
Array- und Funktionstypen
Arrays mit Vereinigungstyp
Evolving-any-Arrays
Mehrdimensionale Arrays
Array-Elemente
Fallstrick: Unzuverlässige Ableitungen
Spreads und Restparameter
Spreads
Spreading von Restparametern
Tupel
Zuweisbarkeit von Tupeln
Typinferenz bei Tupeln
Zusammenfassung
7 Interfaces
Typaliase im Vergleich zu Interfaces
Eigenschaftstypen
Optionale Eigenschaften
Schreibgeschützte Eigenschaften
Funktionen und Methoden
Aufrufsignaturen
Indexsignaturen
Verschachtelte Interfaces
Erweiterung von Interfaces
Überschreiben von Eigenschaften
Gleichzeitige Erweiterung mehrerer Interfaces
Verschmelzung von Interfaces
Namenskonflikte bei Membern
Zusammenfassung
8 Klassen
Klassenmethoden
Klasseneigenschaften
Funktionseigenschaften
Initialisierungsprüfung
Optionale Eigenschaften
Schreibgeschützte Eigenschaften
Klassen als Typen
Klassen und Interfaces
Gleichzeitige Implementierung mehrerer Interfaces
Eine Klasse erweitern
Zuweisbarkeit erweiterter Klassen
Überschreiben von Konstruktoren
Überschreiben von Methoden
Überschreiben von Eigenschaften
Abstrakte Klassen
Sichtbarkeit von Membern
Statische Feld-Modifier
Zusammenfassung
9 Typ-Modifier
Top Types
any, schon wieder
unknown
Typprädikate
Typoperatoren
keyof
typeof
Typzusicherungen
Zusicherung des Fehlertyps
Nicht-null-Zusicherung
Fallstricke bei Typzusicherungen
Const-Zusicherungen
Literale statt primitiver Datentypen
Schreibgeschützte Objekte
Zusammenfassung
10 Generics
Generische Funktionen
Explizite generische Aufruftypen
Multiple Typparameter für Funktionen
Generische Interfaces
Abgeleitete generische Interface-Typen
Generische Klassen
Explizite generische Klassentypen
Erweiterung generischer Klassen
Implementierung von generischen Interfaces
Methoden-Generics
Generics von statischen Klassenmembern
Generische Typaliase
Generische diskriminierte Vereinigungstypen
Generische Modifier
Generische Standardwerte
Eingeschränkte generische Typen
keyof und eingeschränkte Typparameter
Promises
Promises erstellen
Asynchrone Funktionen
Generics richtig verwenden
Die goldene Regel der Generics
Namenskonventionen für Generics
Zusammenfassung
Teil III Verwendung
11 Deklarationsdateien
Deklarationsdateien
Laufzeitwerte deklarieren
Globale Werte
Verschmelzung globaler Interfaces
Globale Augmentationen
Integrierte Deklarationen
Bibliotheks-Deklarationen
DOM-Deklarationen
Moduldeklarationen
Moduldeklarationen mit Platzhaltern
Typen von Paketen
declaration
Typen von Dependency-Paketen
Paket-Typen bereitstellen
DefinitelyTyped
Verfügbarkeit von Typinformationen
Zusammenfassung
12 IDE-Funktionen verwenden
Im Code navigieren
Definitionen suchen
Verwendungen suchen
Implementierungen suchen
Code schreiben
Namen vervollständigen
Automatische Import-Updates
Code-Aktionen
Effektiv mit Fehlern umgehen
Fehler des Sprachdiensts
Zusammenfassung
13 Konfigurationsoptionen
tsc-Optionen
Pretty-Mode
Watch-Mode
TSConfig-Dateien
tsc --init
Kommandozeile oder Konfigurationsdatei?
Dateien einschließen
include
exclude
Alternative Dateiendungen
JSX-Syntax
resolveJsonModule
Ausgabe von JavaScript
outDir
target
Ausgabe von Deklarationsdateien
Sourcemaps
noEmit
Typechecking
lib
skipLibCheck
strict-Mode
Module
module
moduleResolution
Interoperabilität mit CommonJS
isolatedModules
JavaScript
allowJs
checkJs
JSDoc-Unterstützung
Konfigurationserweiterungen
extends
Basiskonfigurationsdateien
Projektreferenzen
composite
references
Build-Mode
Zusammenfassung
Teil IV Zugaben
14 Syntaxerweiterungen
Parametereigenschaften in Klassen
Experimentelle Dekoratoren
Enums
Automatische Zuordnung numerischer Werte
Enums mit String-Werten
Const-Enums
Namensräume
Namespace-Exporte
Verschachtelte Namensräume
Namensräume in Typdefinitionen
Geben Sie Modulen den Vorzug vor Namensräumen
Type-Only-Importe und -Exporte
Zusammenfassung
15 Typoperationen
Abgebildete Typen
Abgebildete Typen auf Basis von Objekttypen
Änderung von Modifiern
Generische abgebildete Typen
Bedingte Typen
Generische bedingte Typen
Distributive Typen
Abgeleitete Typen
Abgebildete bedingte Typen
never
never und Schnittmengen- und Vereinigungstypen
never und bedingte Typen
never und abgebildete Typen
Template-Literaltypen
Intrinsische String-Manipulationstypen
Template-Literalschlüssel
Remapping von Schlüsseln
Typoperationen und Komplexität
Zusammenfassung
Glossar
Fußnoten
Index
Über den Autor
Kolophon
← Prev
Back
Next →
← Prev
Back
Next →