Explore Library
TypeScriptAdvanced Types

43 items

1

Higher-Order Type Manipulation Basics

Flashcard
2

Type Compatibility and Assignability

Flashcard
3

unique symbol Type

Flashcard
4

Structural Typing

Flashcard
5

Function Overloads

Flashcard
6

Type Widening and Narrowing

Flashcard
7

The satisfies Operator

Flashcard
8

Variance (Covariance/Contravariance)

Flashcard
9

typeof Type Operator

Flashcard
10

Branded/Nominal Types

Flashcard
11

Remapping Keys With as

Code Quiz
12

Variance: Covariance and Contravariance

Slides / Video
13

Mapped Types

Slides / Video
14

The infer Keyword Explained

Slides / Video
15

Conditional Types

Slides / Video
16

Indexed Access Types

Slides / Video
17

The keyof Type Operator

Slides / Video
18

The typeof Type Operator

Slides / Video
19

User-Defined Type Guards

Slides / Video
20

Type Guards and Narrowing

Slides / Video
21

Discriminated Unions

Slides / Video
22

Type Aliases in TypeScript

Slides / Video
23

Literal Types in TypeScript

Slides / Video
24

Intersection Types in TypeScript

Slides / Video
25

Union Types in TypeScript

Slides / Video
26

Branded Types via Intersection

Slides / Video
27

const Assertions in TypeScript

Slides / Video
28

Assertion Functions

Slides / Video
29

The unknown Type and Safe Narrowing

Slides / Video
30

The never Type in Advanced Contexts

Slides / Video
31

Distributive Conditional Types

Slides / Video
32

Recursive Types in TypeScript

Slides / Video
33

Advanced Utility Types

Slides / Video
34

TypeScript Utility Types Essentials

Slides / Video
35

Template Literal Types

Slides / Video
36

Key Remapping with as Clause

Slides / Video
37

Extracting Array Element Type

Code Quiz
38

Distributive Conditional Over Union

Code Quiz
39

Building Template Literal Types

Code Quiz
40

Removing Optional Modifier

Code Quiz
41

Conditional Type Syntax

Code Quiz
42

Intrinsic String Manipulation Type

Code Quiz
43

Mapped Type Iteration

Code Quiz
FlashcardAdvanced

Type Widening and Narrowing

Widening generalizes literal types while narrowing refines a type via checks.

Question

What is the difference between type widening and narrowing?

Click to reveal answer