Mörkt tema
Unions (dvs. dubbla typer)
💡 Introduktion till ämnet (flipped classroom)
⏰ Tidsåtgång: c.a. 4 min
📖 Learning TypeScript av Josh Goldberg: Unions & Literals
❓ Våga Fråga
🔈 Transkription
Video 4 - Dubbla typer (unions)
Ibland behöver en variabel anta en eller flera typer, eller funktion returnera olika typer. Detta kallas för "unions" i TypeScript.
Ett kodexempel från boken är följande:
ts
const mathematician = Math.random() > 0.5 ? undefined : 'Mark Goldberg';1
Typen för ovan är string eller undefined, mathematician kan alltså anta endera typen.
Vi kan också deklarera unions själva med hjälp av pipe-tecknet |, såhär:
ts
let username: string | null = null;
// nån annan kod här emellan
username = 'haxx0r';1
2
3
2
3
Vi kan sedan i vår kod använda typeof för att kontrollera typen, och göra olika saker beroende på vilken typ det är:
ts
if (typeof username === 'string') {
return `Welcome ${username}!`;
} else {
throw new Error('Username not set.');
}1
2
3
4
5
2
3
4
5
Vi kan också själva bestämma vad våra variabler kan anta för värden, t.ex. såhär:
ts
let colorTheme: 'dark' | 'light' | 'medium';
let shippingCountries: 'Sweden' | 'Norway' | 'Denmark';
let lifespan: 5 | 'ongoing';1
2
3
2
3