We'll discuss the goals and agenda of this course, and how to get up and running with the workshop project in 2 minutes or less.
In this chapter, we'll get hands on with our first TypeScript program and the compiler CLI command, and examine a simple program's compiled output
We will begin our study of the TypeScript language with simple variables and functions.
In this unit, we will explore how TypeScript is fundamentally different from nominal type systems, such as the ones found in Java and C++.
We will discuss and explore TypeScript's union and intersection types, which are effectively "AND" and "OR" boolean logic operators for types.
TypeScript provides two mechanisms for centrally defining types and giving them useful and meaningful names: interfaces and type aliases. We will study both concepts in depth, and explain when it makes sense to use each.
We will take on our first challenge together: defining types that describe any valid JSON value
Type queries allow us to obtain type information in different ways from existing types and values
So far, we have dealt with function argument and return types. There are a few more in-depth concepts we need to cover, including multiple function heads and callable types.
We have explored built-in type guards like typeof and instanceof, but there's a lot more power in type guards, including the ability to define your own!
Generics allow us to parameterize types, which unlocks great opportunity to reuse types broadly across a TypeScript project.
Many of us use array the higher-order functions map, filter and reduce quite often. Let's build out similar utilities that operate on dictionaries!