мб не прав, тогда думаю поправят, 1) на 90% одно и тоже, но с парой отличий, допустим интерфейсы с одним названием расширят друг друга interface A {foo: string} interface A {bar: string} превратится в A{foo: string, bar: string} но интерфейсы только для описания объектов, допустим нельзя описать массив строк через интерфейс, хотя мб можно через символ итератор как то попробовать, хм, но примитивные типы точно нельзя, результатом пересечения и обьеденения интерфейсов или типов может быть только тип 2) что хочется то и юзай, некоторые для либ советуют ющать интерфейсы для того что бы их могли расширять(в каком то докладе слышал), так вообще без разницы 3) см 2
но это не точно
Спс. Сам не понимаю до конца разницы. И из своего опыта сужу, что типы гибче и проще
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
Наоборот, лучше интерфейсами, так как можем описать необязательные пропсы, интерфейс не предполагает что в объекте могут быть неописанные свойства...если мы попробуем взять свойство из пропсов, которого нет в описанном интерфейсе - выдаст ошибку
Наоборот, лучше интерфейсами, так как можем описать необязательные пропсы, интерфейс не предполагает что в объекте могут быть неописанные свойства...если мы попробуем взять свойство из пропсов, которого нет в описанном интерфейсе - выдаст ошибку
Да, извиняюсь, что-то меня проглючило. Я просто помню что когда-то давно была ситуация когда используя интерфейсы для пропсов я как-то смог использовать пропсы не описаные в интерфейсах, с тех пор использую типы для пропсов. Кстати, в типах тоже можно описать необязательные пропсы.
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
А это разве вызовет ошибку? Ну тоесть если я даже передам что то левое и не буду использовать. Или не будет ошибки если буду использовать?
народ, кто делал свои пакеты в npm подскажите. Сегодня в проде вылез баг с одним из моих пакетов установленных, начал копать и понял что изменили в новых версиях пару дней назад кое что и оно сломалось. Обнаружил я это когда удалял папку node_modules и заново переставлял зависимости, и вот версия которая у меня уже работала больше года подтягивает такой же код как и в последних версиях пакета, как так?
народ, кто делал свои пакеты в npm подскажите. Сегодня в проде вылез баг с одним из моих пакетов установленных, начал копать и понял что изменили в новых версиях пару дней назад кое что и оно сломалось. Обнаружил я это когда удалял папку node_modules и заново переставлял зависимости, и вот версия которая у меня уже работала больше года подтягивает такой же код как и в последних версиях пакета, как так?
если нужно старую версию пакетов - укажите их в package-lock.json