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?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 7.14
Union and Intersection Types
Swipe um das Menü anzuzeigen
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?
Danke für Ihr Feedback!