Как проверить, существует ли данный строковый ключ в Enum

У меня есть перечисление, определенное следующим образом

export enum someEnum {
    None = <any>'',
    value1 = <any>'value1',
    value2 = <any>'value2',
    value3 = <any>'value3'   
}

Например, я хочу проверить, существует ли ключ "value4" в enum. Я должен получить false, поскольку value4 не определено в enum.

Я попытался if (someEnum['value4']), но получение элемента error- неявно имеет тип 'any', потому что выражение индекса не имеет типа 'number'.

Ответ 1

Вы можете использовать оператор in:

if ('value4' in someEnum) {
  // ...
}