Постоянные перечисления стираются во время переноса, поэтому они не оставляют после себя код в приложении времени выполнения.Все использования заменяются на значение во всем приложении.Следовательно, ваше ключевое слово declare
является избыточным:
export const enum JSDocTagName {
Desc = "desc",
Id = "id",
Meaning = "meaning"
}
В отличие от обычных перечислений, постоянные перечисления не могут иметь определенные виды вычисляемых значений, например, это допустимо в обычных перечислениях, но не постоянных перечислениях:
const x = 1;
enum A {
Name = x,
Age = x + 1
}
Обычно ваша ошибка возникает из-за того, что вы пытаетесь что-то сделать , как выше с постоянным перечислением.
Вы можете использовать некоторые вычисленные значения даже впостоянное перечисление - до тех пор, пока результат предсказуем, например:
const enum A {
Name = 1 << 0,
Age = 1 << 1,
Date = 1 << 2
}