Cómo verificar si un valor existe en un Enum de TypeScript
Los Enum de Typescript se convierten en objetos que lucen de la siguiente forma:
ts
// enum
enum Vehiculo {
Auto = 'auto',
Bus = 'bus',
Tren = 'tren',
Metro = 'metro'
}
// se transforma en un objeto como este
{
Auto: 'auto',
Bus: 'bus',
Tren: 'tren',
Metro: 'metro'
}
Por lo que podemos verificar si un valor existe en ellos utilizando Object.values(...)
.
ts
const auto = Vehiculo.Auto;
Object.values(Vehiculo).includes(auto); // true
Object.values(Vehiculo).includes('motor'); // false
Conoce más sobre el operador Array.prototype.includes
.