169 похожих чатов

Всем привет. Есть интерфейс interface Course { id: number

name: string
....
}

Приложение будет получать от апи массив сущностей DeadlineEntity которые будут содержать данные о курсе (name, id) и поле deadlineDate: string. Как правильнее будет создать тип для этой сущности? Просто описав его подчистую как
interface DeadlineEntity {
name: string
id: number
deadlineDate: string
}
или же
interface DeadlineEntity extends Pick<Course, 'id' | 'name"> {
deadlineDate: string
}

??
и есть ли в этих двух случаях принципиальная разница? (я уверен что есть, но хотелось бы услышать мнение опытных тсеров)

5 ответов

12 просмотров

зависит от всякого если твой результирующий тип ТОЧНО ВСЕГДА СОДЕРЖИТ другой тип, то второй вариант лучше подходит но я бы предпочёл типы, а не интерфейсы. смотри, какая красота type DeadlineEntity = Pick<Course, 'id' | 'name"> & { deadlineDate: string } или так: type DeadlineEntity = { id: Course['id'] name: Course['name'] deadlineDate: string }

Alexey- Автор вопроса

понял, спасибо)

а чем тип лучше?

Да ничем

красивее

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

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
всем вопрос. есть функция, которая иногда в линуксе валится с исключением EConvertError Invalid argument to date encode на строке Result:=LocalToUtcDateTime(FileDateToDateTime...
Handatros
9
И из-за этого сужается карман. Нет свободного полёта. Они либо могут какой-то заточенный прикладной софт, либо какой-то простой системный написать. По шаблону. А, допустим, по...
КТ315
9
Всем привет! Подскажите, как решить проблему или из-за чего это происходит. У меня есть проблема в WebStorm (v.2024.1.3): я ставлю любую тему, и через какое-то время меняется ...
Alexander Sheigov
12
А с каким компилятором не будет ошибкой использовать асм вставки?
Replicant ~
14
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Карта сайта