Скажем, у меня есть числовое перечисление:
const enum EStatus {
Busy = 0,
Available = 1,
Away = 2
}
TypeScript не будет жаловаться, когда я делаю следующее:
const status: EStatus = 4
Однако, если у меня есть строкаenum:
const enum EDayOfWeekend {
Saturday = "Saturday",
Sunday = "Sunday"
}
Тогда TypeScript будет жаловаться, когда я попытаюсь сделать следующее:
const dayOfWeekend: EDayOfWeekend = "Tuesday"
Я бы ожидал, что TypeScript будет совместим с разрешением обоихили не позволяя либо.ИМО должен не разрешать использование чего-либо, кроме определенных значений, или даже лучше обеспечивать, чтобы вы могли использовать только перечисление для инициализации переменных, например
const dayOfWeekend = EDayOfWeekend.Saturday
I 'Мне было бы интересно узнать, почему это несоответствие существует в TypeScript и есть ли оно в дизайне.