Praktiska mönster med unioner och snitt
Tillämpa unioner och snitt i verkliga scenarier
Praktiska mönster med unioner och snitt är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Välkommen
Mönstret med valfri nyttolast
type Event =
| { type: 'click'; x: number; y: number }
| { type: 'keypress'; key: string }
| { type: 'blur' };Builder-/Mixin-mönster med intersektion
type Serializable = { serialize(): string };
type Validatable = { validate(): boolean };
type Model = Serializable & Validatable & { id: number };Unioner för normalisering av indata
function toArray<T>(val: T | T[]): T[] {
return Array.isArray(val) ? val : [val];
}Branded types med intersektioner
type UserId = number & { __brand: 'UserId' };
type PostId = number & { __brand: 'PostId' };
// Prevents accidentally mixing IDsWithOptional-mönstret
type RequiredFields = { id: number; email: string };
type OptionalFields = Partial<{ name: string; bio: string }>;
type UserUpdate = RequiredFields & OptionalFields;Props för polymorfa komponenter
type ButtonProps =
| { variant: 'primary'; onClick: () => void }
| { variant: 'link'; href: string };Utöka tredjepartstyper
import type { Request } from 'express';
type AuthRequest = Request & { user: User };Kombinera unioner och intersektioner
type Admin = { role: 'admin' };
type User = { role: 'user' };
type LoggedIn = { sessionId: string };
type AuthUser = (Admin | User) & LoggedIn;Type guards för unionens medlemmar
function isAdmin(u: AuthUser): u is Admin & LoggedIn {
return u.role === 'admin';
}Distributivt beteende i intersektioner
type Base = { id: number };
type AB = Base & (string | number);
// equivalent to: (Base & string) | (Base & number)Snabbkontroll
Sammanfattning
Lär dig TypeScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 101
- Lektioner
- 352
Vanliga frågor
Är lektionen ”Praktiska mönster med unioner och snitt” gratis?
Ja – hela texten till ”Praktiska mönster med unioner och snitt” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Praktiska mönster med unioner och snitt”?
Tillämpa unioner och snitt i verkliga scenarier Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?
Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Praktiska mönster med unioner och snitt”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?
Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Unionstyper: A eller B
- Snitt-typer: A och B
- Diskriminerade unioner för säker mönstermatchning
- Praktiska mönster med unioner och snitt