Учитывая этот пример условного типа:
type MyType = 'Number' | 'String';
interface Test<T extends MyType> {
bar: T extends 'Number' ? 25 : '25'
}
Если я попытаюсь:
const test: Test<'Number'> = {bar: null}
Я не получаю жалоб, похоже, это допустимый Typescript.Однако при наведении курсора на bar
появляется всплывающее окно с надписью (property) Test<"Number">.bar: 25
, которое, по-видимому, означает, что TS правильно понял тип.
Почему тогда я не получаю ошибки при назначении таким образом?Как я могу это исправить?