New Cohort Starts:

Donate
← Back to the skill map
Programming Languages/Interface & language

TypeScript Types

8 micro-topics in Programming Languages, each with the evidence that proves you have it and the written reason behind every link. Before you start, it rests on 1 other domain. Downstream, it holds up 3 domains.

8 topics  ·  depth 2–6 of 16  ·  7 internal links  ·  2 in  ·  3 out

Before you start

Load-bearing links first. Each one says what in this domain rests on what outside it, and why.

JavaScript Core

2 links

load-bearing

Annotate types rests on Reason about primitive types and coercion

You annotate the types JavaScript already has.

load-bearing

Narrow types rests on Control flow with conditionals and loops

Narrowing follows control flow.

What you will be able to do

In prerequisite order. Each idea names the artifact that closes it, the market demand that put it on the map, and what it stands on.

Depth 2  ·  language  ·  unassisted  ·  M09 §9.4

Annotate types

Types primitives, arrays and objects

Evidence
Adds types to an existing file with no anys
Market anchor
TypeScript
Rests on
load-bearing

Reason about primitive types and coercion · JavaScript Core

You annotate the types JavaScript already has.

Depth 3  ·  conceptual  ·  unassisted  ·  M09 §9.4

Model shapes with interfaces and type aliases

Chooses between them deliberately

Evidence
Models a domain object others reuse
Market anchor
TypeScript
Rests on
load-bearing

Annotate types

Interfaces name annotated shapes.

Depth 3  ·  representational  ·  scaffolded  ·  M09 §9.5

Configure the compiler

Tunes tsconfig for strictness and output

Evidence
Turns on strict mode and clears the errors
Market anchor
TypeScript
Rests on
load-bearing

Annotate types

Compiler options govern how your annotations are checked.

Depth 4  ·  conceptual  ·  unassisted  ·  M09 §9.4

Compose union and intersection types

Represents alternatives precisely

Evidence
Makes an invalid state unrepresentable
Market anchor
TypeScript
Rests on
load-bearing

Model shapes with interfaces and type aliases

Unions compose the shapes you can define.

Depth 4  ·  conceptual  ·  scaffolded  ·  M09 §9.4

Write generic functions and types

Parameterizes over types with constraints

Evidence
Writes a reusable typed helper
Market anchor
TypeScript
Rests on
load-bearing

Model shapes with interfaces and type aliases

Generics parameterize the shapes you can define.

Depth 5  ·  procedural  ·  unassisted  ·  M09 §9.4

Apply utility types

Uses Partial, Required, Pick and Omit

Evidence
Derives a type instead of duplicating it
Market anchor
TypeScript
Rests on
load-bearing

Write generic functions and types

Utility types are generic types.

Depth 6  ·  conceptual  ·  guided  ·  M09 §9.5

Use conditional and mapped types

Computes types from other types

Evidence
Derives a response type from a schema type
Market anchor
TypeScript
Rests on
load-bearing

Apply utility types

Conditional and mapped types extend the same machinery.

What rests on this domain

Everything downstream that names an idea here as a prerequisite, grouped by where it lives.

AI Interfaces

1 link

load-bearing

Keep types safe across the stack rests on Annotate types

End-to-end types require typed clients.

JavaScript Core

1 link

supporting

Organize code into modules rests on Annotate types

Type-aware imports are easier once annotations exist.

Production Python

1 link

supporting

Add type hints rests on Annotate types

Type annotation transfers across languages.

Retool. Retrain. Relaunch.

375 ideas. 17 weeks. No tuition, ever.

Vets Who Code is a veteran-run 501(c)(3). The accelerator is free, remote, and we don’t take a share of your first paycheck.

Free · Remote · 17 weeks · EIN 86-2122804