минимальный пример проблемы:
enum EXAMPLE {
FIRST,
SECOND,
}
EXAMPLE[EXAMPLE[EXAMPLE.FIRST]]; // Error
Детская площадка
в соответствии с этим ответом: { ссылка }, если я неправильно его читаю , это должно быть правильно?
Исходя из скомпилированного javascript, эта ошибка типа не имеет смысла для меня, и исходя из того, что я предположил, чтобы быть внутренним типом перечисления, это также не имеет смысла .
Почему типы enum ведут себя непоследовательно по отношению к своим ключам? (т.е. почему они кажутся напечатанными как что-то вроде Record<'FIRST'|'SECOND',0|1> & Record<0|1,string>
, а не Record<'FIRST'|'SECOND',0|1> & Record<0|1,'FIRST'|'SECOND'>
)
Я могу создать объект псевдо-enum, который ведет себя так, как я хочу, но я бы предпочел использовать существующие языковые функции и использовать их преимущества (краткость, осмысленность и т. д. c.).
Есть ли исправление для этого или что-то, чего мне не хватает?