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?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 7.14
Union and Intersection Types
Scorri per mostrare il menu
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?
Grazie per i tuoi commenti!