Union and Intersection Types
When you need to describe variables, parameters, or functions that can work with more than one type, TypeScript provides union and intersection types. Union types, created using the | symbol, allow a value to be one of several specified types. Intersection types, using the & symbol, combine multiple types into one, requiring a value to satisfy all included types. These features make type definitions more expressive and flexible, especially in scenarios where your code must handle a variety of input shapes or requirements.
1234567function formatValue(value: string | number): string { if (typeof value === "string") { return value.toUpperCase(); } // value is a number here return value.toFixed(2); }
1234567function handleInput(input: string | string[]): string { if (Array.isArray(input)) { return input.join(", "); } // input is a string here return input; }
When you use a union type, you often need to determine the actual type at runtime to handle it safely. This process is called type narrowing. TypeScript uses type guards—such as typeof, instanceof, or checking for properties—to help you write code that safely accesses the correct members of each type in a union.
1. What does a union type allow in TypeScript?
2. What is type narrowing in TypeScript?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 7.14
Union and Intersection Types
Svep för att visa menyn
When you need to describe variables, parameters, or functions that can work with more than one type, TypeScript provides union and intersection types. Union types, created using the | symbol, allow a value to be one of several specified types. Intersection types, using the & symbol, combine multiple types into one, requiring a value to satisfy all included types. These features make type definitions more expressive and flexible, especially in scenarios where your code must handle a variety of input shapes or requirements.
1234567function formatValue(value: string | number): string { if (typeof value === "string") { return value.toUpperCase(); } // value is a number here return value.toFixed(2); }
1234567function handleInput(input: string | string[]): string { if (Array.isArray(input)) { return input.join(", "); } // input is a string here return input; }
When you use a union type, you often need to determine the actual type at runtime to handle it safely. This process is called type narrowing. TypeScript uses type guards—such as typeof, instanceof, or checking for properties—to help you write code that safely accesses the correct members of each type in a union.
1. What does a union type allow in TypeScript?
2. What is type narrowing in TypeScript?
Tack för dina kommentarer!