Задать вопрос

Как усилить проверку примитивных типов в TypeScript?

Допустим у меня в разных местах используются примитивные типы. Чтобы не усложнять себе жизнь созданием классов, но при этом чтобы иметь возможность иметь статическую типизацию я хотел бы указывать тип строки. К сожалению, TypeScript никак не проверяет, что тип корректен. Подскажите, можно ли сделать то, к чему я стремлюсь и как?

type IFooIndex = string;
type IBarIndex = string;

class Foo {
    id: IFooIndex;
}

class Bar {
    id: IBarIndex;
}

function findFoo(index: IFooIndex) {
    // searching by IFooIndex
}

findFoo( new Bar().id ); // тут хотелось бы ошибку компиляции
  • Вопрос задан
  • 114 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Frontend-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
Брэндинг вам в помощь
type IFooIndex = string & {_type?: 'foo'};
type IBarIndex = string & {_type?: 'bar'};

class Foo {
    id: IFooIndex;
}

class Bar {
    id: IBarIndex;
}

function findFoo(index: IFooIndex) {
    // searching by IFooIndex
}

findFoo( new Bar().id );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы