Я отримую номер type = 3
і мушу перевірити, чи існує він у цьому переліку:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
Найкращий спосіб, який я знайшов, - це отримати всі значення Enum як масив та використовувати indexOf на ньому. Але отриманий код не дуже розбірливий:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Чи є простіший спосіб зробити це?
!!MESSAGE_TYPE[type]
перевірити, чи існує значення. MESSAGE_TYPE[type]
повернеться невизначеним, якщо значення type
не існує наMESSAGE_TYPE
0
.
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Зробити не так вже й багато.