Master TypeScript In 50 Short Lessons
Every other day, one of your team members makes a case for switching from “chaotic” JavaScript to “sane” TypeScript. Maybe you rely on not-very-well-understood JavaScript libraries, or you have a large number of contributors, or the code base is difficult to maintain. The reasons are always similar, but so is the hesitance from the team. Why change the stack that seems to be working just fine?
That’s the question we’ve asked ourselves as well. So we’ve teamed up with Stefan Baumgartner, a seasoned JavaScript developer drawn to TypeScript for years, to break it all down into understandable pieces. The result is 50 short lessons on TypeScript — our shiny new book, with everything TypeScript explained, from start to finish.
About The Book
You might have heard about TypeScript, but you might not know why it’s useful, and how to make it work for you. This book is supposed to fix just that: it provides JavaScript developers with a simple, structured and pragmatic guidance towards TypeScript, and explains how to make sense of it all, step-by-step.
In “TypeScript in 50 Lessons”, Stefan Baumgartner breaks down the quirks of TypeScript into short, manageable lessons — for front-end developers who know enough JavaScript to be dangerous. Jump to table of contents.
Meet “TypeScript in 50 Lessons”, our new book on everything TypeScript: from typing functions to TypeScript tooling. Download a free sample PDF (2.3 MB).
First, the book gently explores TypeScript, from basic ideas to common techniques and advanced strategies. Then, right around the midpoint, we’ll take the leap into structural type systems and why they are so useful for your work.
We’ll dive into working with types, typing functions, union and intersection types, generics, conditional types and wrap up with thinking in types.
You’ll learn:
- TypeScript concepts, and how to make sense of them all.
- TypeScript tooling, needed to use the language effectively.
- How to get most out of TypeScript without learning a new language.
- Structural type systems, their semantics, and why they matter.
- Low-maintenance types and how to write types once, and let them grow automatically as code evolves.
- How to bend the type system to make it fit the needs of your projects.
- TypeScript culture and how the language is evolving.
Who is this book for?
It’s for developers who know enough JavaScript to be dangerous. If you are spending an increasing amount of time programming and want to be more productive, that’s the book you. With TypeScript, you can get more out of your JavaScript code – for yourself and your colleagues.
The book is also for developers who dipped their toes into TypeScript and now want to get their feet wet. If you want to learn about type systems and how they can be used to define complex JavaScript scenarios, this book will help you, too. This knowledge will ultimately become language-independent, preparing you for different programming languages that have elaborate type systems.
If you ever find yourself:
- writing JavaScript with libraries and frameworks you barely know
- writing JavaScript with other developers
- writing JavaScript that deals with back-end data
- writing JavaScript that your future self has to continue working on
then TypeScript will do right by you.
Table Of Contents
Programming books have a tendency to become outdated very quickly. When Stefan set out to write this book, his most important goal was that it had to be timeless. TypeScript gets at least two major releases a year, so there are new features and changes coming regularly.
That’s why the book focuses on the long-lasting aspects of the type system. You’ll understand how TypeScript works, and how to apply new features long after you’ve turned the last page of this book.
The book is split into 7 chapters.
In this chapter, we want to debunk myths. TypeScript can be so many things, and many people have different views on this programming language that has become so popular in recent years. What is TypeScript actually about? Let’s see what TypeScript has in store for us.
Now that we are acquainted with TypeScript and feel more comfortable using it, it’s time to dig a bit deeper into the eponymous types.
We’ll take a good look at functions. Functions are essential in JavaScript, and there are lots of different typing scenarios available to us. To make functions tangible, we’ll look at a website’s search field: a search field with type-ahead, that shows some results the moment a user types a search query.
Starting with this chapter, we’ll go deep into TypeScript’s type system. We will learn about the set theory behind TypeScript, and how thinking in unions and intersections will help us get even more comprehensible and clearer type support.
Generics offer us a way to prepare for the unknown. They let us define types that describe a certain piece of the type system where the details are filled out later. This is the land where utility functions and utility types are born.
With conditional types, we get the last tool in our tool belt to make most sense out of JavaScript code. Conditional types allow us to validate an input type’s set, and decide on an output type. To be sure, some conditional types can be mind-blowingly hard to understand, and their potential is sometimes hard to grasp. But this is what we want to clear up!
In the final chapter, we’ll work to strengthen our knowledge by seeing solutions to problems you might encounter every day in your TypeScript life. Our goal is to write just a couple of types to make our life easier, so we can focus on coding more JavaScript.
“This is a gentle and timeless journey through the tenets of TypeScript. If you’re a JavaScript programmer looking for a clear primer text to help you become immediately productive with TypeScript, this is the book you’re looking for. It’s filled with practical examples and clear technical explanations.”
— Natalie Marleny, Application Engineer
“Stefan Baumgartner’s book finally made me want to use TypeScript. Until now, I didn’t understand why I should use TypeScript. Without knowing the core principles, it made things more complicated for me. After reading this book, I know how to use the power of TypeScript to my advantage.”
— Vanessa Böhner, Software Developer and Chapter Leader at Front-End Foxes
“Stefan walks you through everything from basic types to advanced concepts like the
infer
keyword in a clear and easy to understand way. The book is packed with many real world examples and great tips, transforming you into a TypeScript expert by the end of it. Highly recommended read!”— Marvin Hagemeister, Creator of Preact-Devtools
464 pages. The eBook is already available (PDF, ePUB, Amazon Kindle). We’ll ship printed copies in November 2020. Written by Stefan Baumgartner. Designed by Rob Draper.
About the Author
Stefan Baumgartner is a software architect based in Austria. He has published online since the late 1990s, writing for Manning, Smashing Magazine, and A List Apart. He organizes ScriptConf, TSConf:EU, and DevOne in Linz, and co-hosts the German-language Working Draft podcast.
Technical Details
- ISBN: 978-3-945749-90-6 (print)
- Quality hardcover, stitched binding, ribbon page marker.
- Free worldwide airmail shipping from Germany. (Check your delivery times). Due to Covid-19 and import restrictions, there could be some delays. But you can start reading the eBook right away.
- Printed copies will be shipped in November 2020.
- eBook is already available as PDF, ePUB, and Amazon Kindle.
- Get the book right away.
Community Matters ❤️
Producing a book takes quite a bit of time, and we couldn’t pull it off without the support of our wonderful community. A huge shout-out to Smashing Members for their ongoing support in our adventures. As a result, the eBook is and always will be free for Smashing Members. Plus, Members get a friendly discount when purchasing their printed copy.
Stay smashing, and thank you for your ongoing support, everyone!
More Smashing Books & Goodies
Promoting best practices and providing you with practical tips to master your daily coding and design challenges has always been (and will be) at the core of everything we do at Smashing.
In the past few years, we were very lucky to have worked together with some talented, caring people from the web community to publish their wealth of experience as printed books that stand the test of time. Paul and Adam are some of these people. Have you checked out their books already?
Click!
A practical guide on how to encourage clicks without shady tricks.
Interface Design Checklists (PDF)
100 practical cards for common interface design challenges.
Form Design Patterns
A practical guide to designing and coding simple and inclusive forms.
Articles on Smashing Magazine — For Web Designers And Developers