TypeScript
JavaScript
Tipos
Desenvolvimento
React Native
Mobile

TypeScript für Anwendungen: Typisiertes Entwicklungshandbuch

TypeScript fügt Typen zu JavaScript hinzu. Für Anwendungen bedeutet dies weniger Fehler, bessere DX und besser wartbaren Code. In diesem Leitfaden erfahren Sie, wie Sie TypeScript in der mobilen Entwicklung verwenden.

Was ist TypeScript?

Definition

JavaScript-Obermenge mit statischen Typen.

Beziehung zu JS

Alle gültigen JS sind gültige TS.

Zusammenstellung

Kompiliert zu JavaScript.

Annahme

Massives Wachstum. Standard für ernsthafte Projekte.

Warum TypeScript

Fehler frühzeitig erkennen

Fehler zur Kompilierungszeit, nicht zur Laufzeit.

Autovervollständigung

IDE weiß, was möglich ist.

Refactoring

Umfangreiche sichere Änderungen.

Dokumentation

Typen sind lebendige Dokumentation.

Team-Skala

Mehrere Entwickler ausgerichtet.

Grundtypen

Primitive

Zeichenfolge, Zahl, boolescher Wert, null, undefiniert.

Arrays

Zahl[], Array.

Objekte

{ Name: Zeichenfolge; Alter: Zahl }.

###Jeder

Opt-out-Typen. Vermeiden.

Unbekannt

Wie sicher, wenn man es nicht weiß.

Schnittstellen und Typen

Schnittstelle

Definiert die Form von Objekten.

Geben Sie Alias ein

Name für jeden Typ.

###Unterschied

Schnittstelle erweitert, Typ für Gewerkschaften.

Wann zu verwenden

Schnittstelle für Objekte, Typ für Komposition.

Erweiterte Typen

###Union

Zeichenfolge | Nummer.

Kreuzung

TypA und TypB.

Generika

Array, Funktion, die mit jedem Typ funktioniert.

Literaltypen

„Erfolg“ | "Fehler".

Dienstprogrammtypen

Teilweise, Erforderlich, Auswählen, Weglassen.

TypeScript in React Native

###Einrichtung

Vorlage TypeScript verfügbar.

###Komponenten

Requisiten und Zustand getippt.

Navigation

Reagieren Sie auf die Navigation mit Typen.

Staat

Redux/Zustand mit Typen.

###API

Eingeschriebene Antworten.

Komponenten eingeben

Requisiten-Schnittstelle

interface Props { title: string; onPress: () => void; }

Optionale Requisiten

Titel?: Zeichenfolge.

Standard-Requisiten

Standardwerte mit Destrukturierung.

###Kinder

React.ReactNode.

Typisierungs-APIs

Antworttypen

Schnittstelle Benutzer { id: string; Name: Zeichenfolge; }

Generika

asynchrone Funktion fetch(url: string): Promise

Zod/Yup

Laufzeitvalidierung + Typen.

Staatsverwaltung

Redux

createSlice mit Typen.

Zustand

Store-Schnittstelle.

Kontext

Art des Kontextwerts.

Navigationstypen

Navigation reagieren

StackParamList für typisierte Routen.

Routenparameter

Parameter, die zwischen Bildschirmen eingegeben werden.

useNavigation

Typisierter Haken.

Konfiguration

tsconfig.json

Build-Optionen.

strenger Modus

Maximale Sicherheit. Immer verwenden.

Pfad-Aliase

@/components für saubere Importe.

Migration von JS zu TS

Allmählich

Benennen Sie .js schrittweise in .ts um.

erlaubtJs

Erlauben Sie JS während der Migration.

beliebig Temporär

Zur schnellen Migration verwenden, später entfernen.

Später streng

Aktivieren Sie „Strikt“ nach der Migration.

Muster

###Diskriminierte Gewerkschaften

type State = { status: 'loading' } | { Status: 'Erfolg'; Datum: Datum }.

Umfassende Kontrollen

Schalter, der alle Fälle garantiert.

Const-Behauptungen

als const für Literale.

Häufige Fehler

überall

Verliert Typvorteile.

Fehler ignorieren

// @ts-ignore unnötig.

Überschreiben

Zu komplexe Typen.

Nicht streng verwenden

Es fehlen wichtige Validierungen.

Werkzeuge

VS-Code

Ausgezeichnete native Unterstützung.

ESLint

@typescript-eslint für Linting.

Hübscher

Konsistente Formatierung.

##Leistung

Kompilierungszeit

Kann bei großen Projekten langsam sein.

Laufzeit

Kein Overhead. Typen werden entfernt.

Bündelgröße

Identisch mit JavaScript.

Fazit

TypeScript ist eine Investition, die sich in Qualität und Produktivität auszahlt. Für Apps bedeutet dies weniger Fehler in der Produktion, sicheres Refactoring und eine einfachere Einbindung neuer Entwickler.

##FAQs

1) Ist TypeScript langsamer? Zusammenstellung ja. Laufzeit gibt es keinen Unterschied.

2) Muss ich alles eingeben? TypeScript lässt eine Menge schließen. Geben Sie nach Bedarf ein.

3) Gilt es für ein kleines Projekt? Ja. Vorteile von Anfang an.

4) Wie beginne ich mit einem bestehenden Projekt? Allmählich. Datei für Datei.

5) Funktioniert TypeScript mit React Native? Perfekt. Offizielle Vorlage verfügbar.

Lesen Sie auch