Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying The TypeScript Workshop
  • Table Of Contents Toc
  • Feedback & Rating feedback
The TypeScript Workshop

The TypeScript Workshop

By : Ben Grynhaus , Jordan Hudgens , Rayon Hunte , Matt Morgan , Wekoslav Stefanovski
4.7 (19)
close
close
The TypeScript Workshop

The TypeScript Workshop

4.7 (19)
By: Ben Grynhaus , Jordan Hudgens , Rayon Hunte , Matt Morgan , Wekoslav Stefanovski

Overview of this book

By learning TypeScript, you can start writing cleaner, more readable code that’s easier to understand and less likely to contain bugs. What’s not to like? It’s certainly an appealing prospect, but learning a new language can be challenging, and it’s not always easy to know where to begin. This book is the perfect place to start. It provides the ideal platform for JavaScript programmers to practice writing eloquent, productive TypeScript code. Unlike many theory-heavy books, The TypeScript Workshop balances clear explanations with opportunities for hands-on practice. You’ll quickly be up and running building functional websites, without having to wade through pages and pages of history and dull, dry fluff. Guided exercises clearly demonstrate how key concepts are used in the real world, and each chapter is rounded off with an activity that challenges you to apply your new knowledge in the context of a realistic scenario. Whether you’re a hobbyist eager to get cracking on your next project, or a professional developer looking to unlock your next promotion, pick up a copy and make a start! Whatever your motivation, by the end of this book, you’ll have the confidence and understanding to make it happen with TypeScript.
Table of Contents (16 chapters)
close
close
Preface

Conditional Types

Conditional types were introduced in TypeScript 2.8 and allow complex type expressions, some of which drive some of the built-in types we saw earlier. These are really powerful, since they allow us to write logic inside our types. The syntax for this is T extends U ? X : Y. This is very similar to the regular JavaScript ternary operator, which allows for inline conditions, the only difference in the syntax is that you have to use the extends keyword and that this check is done at compile time and not runtime.

This allows us to write a NonNullable<T> type:

type NonNullable<T> = T extends null | undefined ? never : T; 

This is already built into the language, but it's driven by the same code you could write in your app.

This means that you can check whether a type is nullable at compile time and change the type signature or inference based on that. An example use case for this would be an isNonNullable function. Consider the following code...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY