Wenn Du denkst, Du kannst TypeScript … // deutsch

preview_player
Показать описание
Auf den ersten Blick wirkt TypeScript wie die perfekte Sprache für alle Entwicklerinnen und Entwickler, die JavaScript nicht mögen. Das liegt vor allem an dem statischen Typsystem, das an C# und Java erinnert, und das es Dir erspart, Dich mit dem dynamischen und vermeintlich merkwürdigen Typsystem von JavaScript herumschlagen zu müssen.

Doch der Schein trügt, denn TypeScript enthält zahlreiche subtile Fallstricke und viele davon hängen sogar sehr eng mit dem statischen Typsystem zusammen. Denn das Typsystem funktioniert ganz anders als viele Entwicklerinnen und Entwickler annehmen – und das kann zu subtilen und zugleich gefährlichen Fehlern führen.

In diesem spannenden Video erklärt Dir Golo Roden an Hand zweier Beispiele, was die Ursache für diese Fallstricke ist. Und falls Du für Dich oder Dein Team Unterstützung bei TypeScript brauchst, dann melde Dich bei uns:

Interesse an Go, TypeScript, skalierbaren APIs und modernen Web-UIs? Hier geht's zur tech:lounge Masterclass:

────────────────────

Willst Du wissen, welche Videos es noch von uns gibt oder suchst Du eines zu einem bestimmten Thema? Hier findest Du die perfekte Übersicht über alle unsere Videos:

────────────────────

Möchtest Du demnächst den Job wechseln, hast aber Angst vor den technischen Fragen im Bewerbungsgespräch? Wir können Dir helfen! Werde Mitglied in unserem Coding-Circle und erhalte jede Woche exklusive Videos:

────────────────────

Hast Du Fragen zu diesem Video oder willst Du Dich mit Gleichgesinnten aus der Community austauschen? Dann komm auf unseren Discord-Server:

────────────────────

00:00 – Einleitung
00:47 – Können nicht inzwischen alle TypeScript?
01:31 – Subtile Feinheiten und hinterhältige Fehler
02:47 – Das statische Typsystem
03:41 – Kompatibilität von Typen
04:25 – Nominale vs strukturelle Typsysteme
05:56 – Eine Ente ist eine Ente
06:56 – JSON importieren
07:58 – Typsicherheit zur Laufzeit
09:00 – Ein gefährlicher Trugschluss
09:48 – Eine endlose Liste

────────────────────

Рекомендации по теме
Комментарии
Автор

Bin gerade super happy. Anscheinend kenne ich mich doch besser mit TS aus als ich dachte. 🥳
War nur kurz geschockt, als Golo bei 4:25 mit "Nein" geantwortet hat. Da habe ich schon an mir gezweifelt.... 😂

majoulwa
Автор

Wieder ein tolles Video! 😊
Ich muss gestehen, dass ich mich diesbezüglich auch schon hin und wieder in solche Fallstricke gebracht habe, wobei mir aber durchaus bewusst war, dass es sie gibt.
Mittlerweile bin ich da etwas schlauer unterwegs.

Unabhängig davon freue ich mich auf die tech:lounge und bin gespannt, was ich da alles mitnehmen kann 😊

marinaegner
Автор

Hallo Golo,

bin beim Anschauen des Videos gerade etwas ins Stocken geraten, als du die Aussage getätigt hast, dass das Typsystem von JavaScript ein Duck Typing ist. Ich stell mir da die Frage, ob JavaScript wirklich ein Typsystem hat. Aus dem Bauchgefühl heraus würde ich nämlich sagen: Es gibt kein Typsystem, was alleine schon daran erkennbar ist, dass die Sprache keinerlei Möglichkeiten hat, auf Typen zu prüfen, nichtmal zur Laufzeit. Ja, man kann prüfen, ob auf einem Objekt eine Property definiert ist (oder die Property eine passende Funktion liefert), aber nur weil ich Reflection auf Objekten machen kann, würde ich das noch nicht Typsystem nennen. Nachdem JavaScript eine prototypenbasierte Objektorientierung ist, könnte man die Prototypen als Typsystem ansehen, vor allem, weil das Wort "typ" enthält, aber auch das finde ich schwierig. Meiner Meinung nach hat TypeScript erst ein Typsystem in JavaScript reingebracht, was im Namen der Sprache ja auch sehr deutlich wird. Deinen Schlussfolgerungen auf das Design von TypeScript und die Abwärtskompatibilität stimme ich 100% zu, war eben nur an der Bezeichnung "Typsystem" hängen geblieben.

Copprax
Автор

das letzte problem wird einfach durch zod oder valibot gelöst.

FunctionGermany
Автор

Die Typsysteme werden in Einführungskursen viel zu schlecht erklärt. Man erfährt zwar welche Typen es in der jeweiligen Programmiersprache gibt, aber da geht es nur darum, was darf man mit diesen Typen machen? Was macht man aber, wenn man mehrere unterschiedliche Typen braucht, die aber die gleichen Operationen ausführen können sollen?

Hofer
Автор

Ich wollte mir die für Go buchen. Dann habe ich gesehen dass die für mich leider viel zu teuer sind :(

ta
Автор

Ich behaupte jetzt mal, dass strukturelle Kompatibilität bei vielen statisch typisierte Funktionalen Programmiersprachen auch so ist (e.g., Records).

bsdooby
Автор

Argument Achtunddrölfzig warum man ein effektiv auf JavaScript basierendes Ökosystem nur so viel nutzen sollte, wie unbedingt nötig...

BenjaminWagener
Автор

Das Video sollte heißen: wieso sollst du nicht JavaScript lernen. 😅

lufve