Как определить строковый литерал тип объединения из констант в Typescript - PullRequest
1 голос
/ 22 мая 2019

Я знаю, что могу определить типы объединения строк, чтобы ограничить переменные одним из возможных значений строки:

type MyType = 'first' | 'second'
let myVar:MyType = 'first'

Мне нужно создать такой тип из константных строк, например:

const MY_CONSTANT = 'MY_CONSTANT'
const SOMETHING_ELSE = 'SOMETHING_ELSE'
type MyType = MY_CONSTANT | SOMETHING_ELSE

Но по какой-то причине это не работает;там написано MY_CONSTANT refers to a value, but it being used as a type here.

Почему Typescript разрешает первый пример, а второй - нет?Я на Typescript 3.4.5

1 Ответ

3 голосов
/ 22 мая 2019

Чтобы получить тип переменной, вам нужно использовать оператор типа typeof:

const MY_CONSTANT = 'MY_CONSTANT'
const SOMETHING_ELSE = 'SOMETHING_ELSE'
type MyType = typeof MY_CONSTANT | typeof SOMETHING_ELSE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...