We can use TypeScript’s Exclude
with types in order to exclude certain members of a type.
Example
If we have a type called Vehicles
in which we wish to exclude vehicles of type ‘SUV’ for example, we would use Exclude
and do the following:
type Vehicles =
| { make: 'BMW', model: '325', type: 'sedan' }
| { make: 'BMW', model: '525', type: 'sedan' }
| { make: 'BMW', model: 'X6', type: 'SUV' };
type sedans = Exclude<Vehicles, { type: 'SUV' }>;
const cars: sedans[] = [
{ make: 'BMW', model: '325', type: 'sedan' },
{ make: 'BMW', model: '525', type: 'sedan' },
];
If we were to include a vehicle of type ‘SUV’ in the array of objects called cars above,TypeScript’s compiler would automatically point out that entry as an error.