Вы можете использовать enum.В машинописном тексте переменные используются только в качестве значений, тогда как строки могут выступать как переменные, так и типы (например, «круг»).См. Объявление слияние для получения дополнительной информации.
Однако перечисления также действуют как переменные и типы, поэтому в приведенном выше примере вы можете создать перечисление следующим образом:
enum ShapeType {
Circle = 'circle',
Square = 'square',
}
и соответственно заменить тип в интерфейсе, например:
interface Circle {
type: ShapeType.Circle;
radius: number;
}
и ссылаться на enum в регистре переключателя (например, case ShapeType.Circle:
)