примеру с бэка нам приходит дата, но по сути же в виде строки. Так вот в интерфейсе этому полю указывать тип string или все же Date. Или на стадии получения эти поля в данных как то преобразовывать в дату, типа new Date(bla-bla)?
Пробовал оба варианта, ошибок не было. Всегда теперь указываю тип string, но мучают сомнения )))
Заранее спасибо.
С бека всегда string, а по необходимости преобразую.
у данных, которые прилетают с бэка, есть методы и свойства Date? какой тип прилетает. от этого и отталкивайся
Врать типам не надо. Работает, потому что объект приходит в runtime, а вы ему типы сами задаете в compile time Как вариант - сделайте adapter к сервису, который будет из модели, которая идет с сервера явно маппить данные во то представление, которое нужно в JS (из строки в дату например)
Если не заморачиваться с адаптерами, но стринг не нравится, можно сделать типа того type DateISO = string; interface MyObject { date: DateISO; } Как минимум IDE будет подсказывать что там за тип. Если версия тайпскрипта позволяет, можно заменить в этой конструкии string на Template Literal Types (https://www.typescriptlang.org/docs/handbook/2/template-literal-types.html) где описать шаблон строки
Обсуждают сегодня