Tobias Ludwig
Start
ServicesWeb, Apps, Backend und KIPlanerBausteine wählen, Preis sofort sehenBranchen-DemosBeispielseiten für Handwerk, Praxis, GastroReferenzenKundenprojekte mit ErgebnisMatch-CheckPasst das Vorhaben zu mir?Über michWer hinter der Seite steht
ProjekteEigene Software und Open SourceProdukteFertige Apps und WerkzeugeFlutterPlugins und PaketeBlogNotizen aus der Praxis
ToolsKleine Helfer im BrowserTech-WikiWerkzeuge und Stacks, kurz erklärtShowcaseDemos, Shader, Inszenierungen
Support & HilfeHilfe zu laufenden ProjektenMein KontoTickets und Zugänge
Erstgespräch
Erstgespräch buchenKostenloser Kennenlern-CallKontakt schreibenNachricht per Formular
$whoami
Tobias Ludwig
DevOps · Application Manager · Software Engineer
$ls /pages
tobias-ludwig/projekte/kontakt/kalender/impressum/datenschutz/
$git remote
github.com/nexas105
online·next.js 16·hono·postgresql
© 2026 tjl·stay curious_
Ambient OFF
Weiter so… ↓↓ ← → ← → B A
zurück zur Tech-Wiki
Tech-Wiki/Sprachen
T

TypeScript

Typsicheres Superset von JavaScript.

v5·Microsoft·Apache-2.0
WebsiteDocsRepository

Übersicht

Was ist es?

TypeScript ist Microsofts typsicheres Superset von JavaScript — statische Typen werden zur Compile-Zeit geprüft und beim Build entfernt. Industriestandard für seriöse JS-Codebases, in dieser Codebase strict-mode default.

Quickstart

pnpm add -D typescript @types/node
pnpm tsc --init --strict
pnpm tsc --noEmit       # Typecheck ohne Output

tsconfig.json mit "strict": true, "noUncheckedIndexedAccess": true und "moduleResolution": "bundler" für Next/Vite.

Typische Patterns

  • Discriminated Unions statt Klassen-Hierarchien:
    type Result<T> = { ok: true; value: T } | { ok: false; error: string }
    
  • satisfies statt Type-Annotation, wenn Inference erhalten bleiben soll:
    const config = { port: 3000 } satisfies Config
    
  • Zod / Valibot für Runtime-Validierung + z.infer<> für Typen aus Schema.
  • Template Literal Types für API-Routen, Event-Namen, etc.: `on${Capitalize<K>}`.
  • as const für readonly tuples und literal-narrowing.

Gotchas / Was oft schiefgeht

  • any ist ansteckend — einmal drin, frisst es die Typsicherheit ganzer Call-Chains. unknown + Type-Guard nutzen.
  • Object.keys(obj) gibt string[] zurück, nicht (keyof T)[] — bewusste Type-Assertion nötig.
  • noUncheckedIndexedAccess macht arr[0] zu T | undefined — viele Codebases vergessen das initial.
  • Decorators und enums sind Stolperfallen; lieber as const-Objects.
  • Type-Erasure: zur Runtime sind alle Typen weg — instanceof funktioniert nur bei Klassen.

Wann nicht?

Wegwerf-Prototypen oder 50-Zeilen-Skripte. Aber selbst dort lohnt JSDoc-Types mit // @ts-check.

Eingesetzt in

Projekte(6)

  • detect_api
  • NextCMS
  • Auth API Service
  • Bewerbungsplattform
  • MyFitCoach PRO
  • DBFV NRW Verbandsplattform

Referenzen(4)

  • myndfluence.de
  • DBFV NRW Verbandsplattform
  • frank-klingebiel.de
  • alexander-mittag.de

Produkte(2)

  • Relay
  • NextCMS

Kategorie

Sprachen

Tags

languagetypes

Aliase

ts · typescript 5

Slug

typescript