Skip to content

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.