Intersection Types: A and B
Combine types with & to merge their properties.
Intersection Types: A and B is a free TypeScript Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the TypeScript Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Welcome
Basic Intersection Syntax
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };All Properties Required
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing yMerging Object Types
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;Intersection vs Extends
// Interface extend:
interface C extends A, B {}
// Intersection type:
type D = A & B;
// Both give the same shape for simple objectsIntersection with Conflicting Types
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!Intersection in Function Parameters
function process(item: Serializable & Loggable): void {
item.log();
console.log(item.serialize());
}Mixin Pattern with Intersections
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;Primitive Intersections Collapse to never
type T = string & number; // never — a value can't be bothIntersection vs Union: The Core Difference
Using Intersections with Generics
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };Quick Check
Recap
Frequently asked questions
Is the “Intersection Types: A and B” lesson free?
Yes — the full text of “Intersection Types: A and B” is free to read here on the web, and the TypeScript Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the TypeScript Academy course, upgrade to CoddyKit PRO.
What will I learn in “Intersection Types: A and B”?
Combine types with & to merge their properties. You practise TypeScript Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start TypeScript Academy?
No prior experience is required. TypeScript Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Intersection Types: A and B” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this TypeScript Academy lesson?
Yes. Every TypeScript Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.