#typescript
Вопрос:
В целях модульного тестирования новой библиотеки со сложными типами я хочу иметь возможность проверить, имеет ли предоставленная переменная заданный тип. Это должно произойти во время компиляции, так как типы удаляются.
Вот что у меня есть до сих пор:
function hasType<T>(v: T): void{}
Это только половина решения: он будет компилироваться , если v
его можно назначить T
, но это ничего не доказывает о T
том, что он может быть назначен фактическому типу v
. (например hasType<string|bool>('somestring')
, пройдет.)
Комментарии:
1. Подожди, почему ты не хочешь
hasType<string|boolean>('somestring')
пройти? Каков здесь пример использования? Это не похоже на то, что вы можете присвоить значение"somestring"
.2. TS не позволяет легко это сделать (и я все еще не понимаю варианта использования)… но работает ли это для вас?