Type Operators
Build new types from old ones: keyof, typeof, indexed access, mapped types and key remapping, with the real type each operator produces.
Until now you wrote types by hand: a User here, a union there. In this phase the compiler writes types for you. Each type operator takes a type you already have and produces a new one: the keys of an object, the type of a value, one field's type, or a whole new object type made by transforming every field.
The big idea is one source of truth. If a User type has five fields, a type for "the form where every field is optional" or "the list of field names" should not be typed out again by hand, because the two copies would drift apart. Operators keep the copies in sync: change User once and everything built from it changes too.
Almost every example here asks the compiler a question with // ^? and shows the answer in the Types panel. Read the answers carefully: seeing exactly what type an operator produced is the fastest way to learn it. Topic 8.4 builds Partial, Required and Readonly from scratch, and Topic 10.1 shows the finished versions TypeScript ships.
Practise this phase
Hands-on exercises: write the code, see your page live, and press Check to have it tested automatically.