Programmieren in TypeScript
eBook - ePub

Programmieren in TypeScript

Skalierbare JavaScript-Applikationen entwickeln

Boris Cherny, Jørgen W. Lang

  1. 328 pages
  2. German
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Programmieren in TypeScript

Skalierbare JavaScript-Applikationen entwickeln

Boris Cherny, Jørgen W. Lang

Book details
Book preview
Table of contents
Citations

About This Book

Herausragendes Fachbuch zu TypeScript und seinem Ökosystem- TypeScripts ausgeklügeltes Typsystem verstehen- Tiefgehende Einsichten in die Sprache gewinnen (Minko Gechev, Angular-Team bei Google)- Von den Grundlagen bis zu Applikationen im ProduktionsbetriebProgrammierer, die mit dynamisch typisierten Sprachen arbeiten, wissen nur zu genau, wie schlecht ihre Projekte skalieren: wie schwierig es ist, mit einer umfangreichen Codebasis zu arbeiten und viele Entwickler einzubinden. Facebook, Google und Microsoft haben deshalb statisch typisierte Schichten für ihren JavaScript-und Python-Code entwickelt. TypeScript ist hier besonders interessant: Die Sprache bietet ein mächtiges statisches Typsystem, sodass Projekte besser skalieren und das Programmieren wieder Spaß macht.Boris Cherny zeigt Programmierern mit JavaScript-Grundkenntnissen, wie die Konzepte hinter TypeScript gedacht sind und wie man die Sprache sicher beherrscht. Sie erfahren, wie TypeScript Sie dabei unterstützt, Bugs zu vermeiden und Ihren Code für deutlich mehr Entwickler zu skalieren.Was Sie in diesem Buch erwartet: - Mit den Grundlagen beginnen: Sie lernen verschiedene Typen und Typ-Operatoren von TypeScript kennen und erfahren, wofür und wie sie benutzt werden.- Fortgeschrittene Themen erarbeiten: Sie verstehen TypeScripts ausgeklügeltes Typsystem, wie Sie Fehler sicher behandeln und asynchrone Programme entwickeln.- In die Praxis eintauchen: Sie verwenden TypeScript mit den Frontend- und Backend-Frameworks Ihrer Wahl, migrieren JavaScript-Projekte zu TypeScript und führen TypeScript-Anwendungen im Produktivbetrieb aus.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Programmieren in TypeScript an online PDF/ePUB?
Yes, you can access Programmieren in TypeScript by Boris Cherny, Jørgen W. Lang in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Programación web. We have over one million books available in our catalogue for you to explore.

Information

Publisher
O'Reilly
Year
2019
ISBN
9783960103608

KAPITEL 1

Einführung

Sie haben sich also entschieden, ein Buch über TypeScript zu kaufen. Warum?
Vielleicht haben Sie einfach die Nase voll von seltsamen JavaScript-Fehlern wie cannot read property blah of undefined. Oder Sie haben gehört, dass Applikationen mit TypeScript besser skalierbar sind und wollten einfach mal wissen, ob das wirklich stimmt. Oder Sie programmieren funktional und wollten den nächsten logischen Schritt tun. Oder Ihrem Chef hat es so sehr gestunken, dass Ihr Code in der Produktion immer wieder für Fehler sorgte, dass er Ihnen dieses Buch zu Weihnachten geschenkt hat (sagen Sie Bescheid, wenn es zu sehr wehtut ...).
Egal, was Ihre Gründe sind: Was Sie gehört haben, ist wahr. TypeScript wird die nächste Generation von Web-Applikationen, mobiler Apps, NodeJS-Projekten und »Internet of Things (IoT)«-Geräten antreiben. TypeScript macht Ihre Programme sicherer, indem es auf häufige Fehler überprüft, als Dokumentation für Sie und Ihre Wartungsprogrammierer dient, Refaktorierungen schmerzlos macht und mindestens die Hälfte Ihrer Unit Tests (»Was für Unit Tests?«) unnötig macht. TypeScript wird Ihre Produktivität als Programmierer verdoppeln und garantiert Ihnen eine Verabredung mit dem (oder der) Barista von gegenüber.
Bevor Sie gleich blindlings über die Straße rennen, wollen wir die Dinge zunächst etwas genauer betrachten. Wir beginnen mit der Frage: »Was meine ich eigentlich mit ›sicherer‹?« Ich meine natürlich Typsicherheit.
Typsicherheit
Die Verwendung von Typen, um zu verhindern, dass Programme ungültige Aktionen ausführen.1
Hier ein paar Beispiele für ungültige Operationen:
  • Die Multiplikation einer Zahl mit einer Liste
  • Der Aufruf einer Funktion mit einer Liste aus Strings, wenn eigentlich eine Liste mit Objekten gebraucht wird
  • Der Aufruf einer nicht vorhandenen Methode an einem Objekt
  • Der Import eines Moduls, das kürzlich an einem anderen Ort abgelegt wurde
Manche Sprachen versuchen, solche Fehler, so gut es geht, abzufangen und zu umgehen. Sie versuchen herauszufinden, was Sie beim Auftreten des Fehlers tatsächlich tun wollten. Schließlich tun auch Sie Ihr Bestes, oder? Nehmen Sie beispielsweise dieses JavaScript-Beispiel:
3 + [] // Ergibt den String "3"
let obj = {}
obj.foo // Ergibt undefined
function a(b) {
return b/2
}
a("z") // Ergibt NaN
Wenn Sie etwas offensichtlich Ungültiges tun, löst JavaScript keine Ausnahme aus. Stattdessen versucht es, das Beste aus der Situation zu machen, und vermeidet Ausnahmen, soweit wie möglich. Ist JavaScript hilfreich? Sicherlich! Hilft es Ihnen, die Fehler schneller zu finden? Wahrscheinlich nicht.
Jetzt stellen Sie sich vor, JavaScript würde mehr Ausnahmen auslösen, anstatt stillschweigend zu versuchen, das Beste aus den Dingen zu machen, die es zur Verfügung hat. Dann würden wir möglicherweise Rückmeldungen wie diese bekommen:
3 + [] // Fehler: Wollten Sie wirklich eine Zahl und ein Array addieren?
let obj = {}
obj.foo // Fehler: Sie haben vergessen, die Eigenschaft "foo" an obj zu
// definieren.
function a(b) {
return b/2
}
a("z") // Fehler: Die Funktion "a" erwartet eine Zahl,
// Sie haben aber einen String übergeben.
Verstehen Sie mich nicht falsch: Der Versuch, Ihre Fehler auszubügeln, ist für eine Programmiersprache eine tolle Eigenschaft (es wäre schön, wenn es das nicht nur für Programme gäbe). Für JavaScript trennt dieses Vorgehen jedoch die Verbindung zwischen dem Moment, wenn der Fehler auftritt, und dem, wenn Sie herausfinden, dass Ihr Code einen Fehler enthält. Das heißt, oftmals hören Sie erst von jemand anderem, dass Sie einen Fehler gemacht haben.
Die Frage ist also: Wann genau teilt Ihnen JavaScript mit, dass Sie einen Fehler gemacht haben?
Richtig. Erst wenn Sie das Programm tatsächlich ausführen. Das kann beispielsweise sein, wenn Sie das Programm in einem Browser testen, ein Benutzer Ihre Website besucht oder Sie einen Unit-Test durchführen. Wenn Sie diszipliniert sind und viele Unit- und End-to-end-Tests schreiben, Ihren Code vor der Veröffentlichung einer strengen Überprüfung und internen Tests unterziehen, finden Sie den Fehler hoffentlich, bevor es die Benutzer tun. Was aber, wenn nicht?
Da kommt TypeScript ins Spiel. Noch cooler als die Tatsache, dass TypeScript Ihnen hilfreiche Fehlermeldungen anzeigt, ist, wann es das tut: TypeScript zeigt Ihnen die Fehlermeldungen in Ihrem Codeeditor. Während Sie schreiben. Sie müssen sich also nicht mehr auf Unit Tests, Smoke Tests oder Ihre Mitarbeiter verlassen, um diese Fehler zu finden: TypeScript findet sie für Sie und warnt Sie bereits beim Schreiben des Programms. Sehen wir mal, was TypeScript zu unseren vorigen Beispielen zu sagen hat:
3 + [] // Error TS2365: Operator '+' cannot be applied to types '3'
// and 'never[]'.
let obj = {}
obj.foo // Error TS2339: Property 'foo' does not exist on type '{}'.
function a(b: number) {
return b / 2
}
a("z") // Error TS2345: Argument of type '"z"' is not assignable to
// parameter of type 'number'.
TypeScript hilft aber nicht nur, ganze Klassen von Typ-bezogenen Fehlern zu vermeiden. Es verändert die Art, wie Sie Code schreiben. Sie werden Programme zunächst auf Typebene skizzieren, um sie dann auf Werteebene mit Inhalt zu füllen.2 Sie werden bereits beim Schreiben des Programms an mögliche Sonderfälle denken, und nicht erst wenn das Programm schon fertig ist. Sie werden lernen, Programme zu entwickeln, die einfacher, schneller, verständlicher und wartbarer sind.
Sind Sie für Ihre Reise bereit? Dann los!

KAPITEL 2

TypeScript aus der Vogelperspektive

In den folgenden Kapiteln stelle ich Ihnen TypeScript vor, gebe Ihnen einen Überblick über die Funktionsweise des TypeScript-Compilers (TSC) und zeige Ihnen, welche Fähigkeiten TypeScript besitzt und welche Muster Sie damit entwickeln können. Wir beginnen mit dem Compiler.

Der Compiler

Je nachdem, welche Programmiersprache(n) Sie bereits benutzt haben (d.h., bevor Sie dieses Buch gekauft und sich für ein Leben in Sicherheit entschieden haben), haben Sie vermutlich ein anderes Verständnis davon, wie Programme funktionieren. Im Vergleich zu anderen beliebten Sprachen wie JavaScript oder Java funktioniert TypeScript eher ungewöhnlich. Daher ist es sinnvoll, erst einmal auf dem gleichen Stand zu sein, bevor wir weitermachen.
Beginnen wir ganz allgemein: Programme sind Dateien, die von Ihnen – den Programmierern – geschriebenen Text enthalten. De...

Table of contents

Citation styles for Programmieren in TypeScript

APA 6 Citation

Cherny, B. (2019). Programmieren in TypeScript (1st ed.). O’Reilly. Retrieved from https://www.perlego.com/book/1788413/programmieren-in-typescript-skalierbare-javascriptapplikationen-entwickeln-pdf (Original work published 2019)

Chicago Citation

Cherny, Boris. (2019) 2019. Programmieren in TypeScript. 1st ed. O’Reilly. https://www.perlego.com/book/1788413/programmieren-in-typescript-skalierbare-javascriptapplikationen-entwickeln-pdf.

Harvard Citation

Cherny, B. (2019) Programmieren in TypeScript. 1st edn. O’Reilly. Available at: https://www.perlego.com/book/1788413/programmieren-in-typescript-skalierbare-javascriptapplikationen-entwickeln-pdf (Accessed: 15 October 2022).

MLA 7 Citation

Cherny, Boris. Programmieren in TypeScript. 1st ed. O’Reilly, 2019. Web. 15 Oct. 2022.