Size: a a a

JavaScript.Ninja

2020 April 21

VN

Vladimir Naumenko in JavaScript.Ninja
Да просто интерфейсами описывай объекты а типами все остальное
источник

F

Fessan in JavaScript.Ninja
Roman Cimmermann
всем привет. посоветуйте качественные курсы по js?
источник

T

Taras in JavaScript.Ninja
Maxim Pismenskiy
мб не прав, тогда думаю поправят,
1) на 90% одно и тоже, но с парой отличий, допустим интерфейсы с одним названием расширят друг друга
interface A {foo: string}
interface A {bar: string}
превратится в A{foo: string, bar: string}
но интерфейсы только для описания объектов,  
допустим нельзя описать массив строк через интерфейс, хотя мб можно через символ итератор как то попробовать, хм, но примитивные типы точно нельзя,
результатом пересечения и обьеденения интерфейсов или типов может быть только тип
2) что хочется то и юзай, некоторые для либ советуют ющать интерфейсы для того что бы их могли расширять(в каком то докладе слышал), так вообще без разницы
3) см 2

но это не точно
Спс. Сам не понимаю до конца разницы. И из своего опыта сужу, что типы гибче и проще
источник

Д

Дмитрий Мовчан in JavaScript.Ninja
Также объект может содержать свойства не описанные в интерфейсе, а в типе такое невозможно.
источник

MK

Maks Kravchenko in JavaScript.Ninja
насчет type и interface
лично мне проще применять типы для описания структуры данных, например:

type User = {
 name: string
};

const user: User = { name: ’name’ };



а интерфейсы для описания классов и наследования, например:

interface Creatable {
 cr
eate(data: any): any
}

cla
ss User implements Creatable {
 c
reate(…) {…}
}
источник

T

Taras in JavaScript.Ninja
я интерфейсами описываю пропсы в реакте
источник

T

Taras in JavaScript.Ninja
верно ли так делать?
источник

T

Taras in JavaScript.Ninja
делаю что то типа такого
export interface ComponentProps {}
const Component = (props: ComponentProps) => {}
export default ComponentProps;
источник

PG

Pavel Gubin in JavaScript.Ninja
источник

Д

Дмитрий Мовчан in JavaScript.Ninja
Taras
я интерфейсами описываю пропсы в реакте
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
источник

NS

Nikita Sologub in JavaScript.Ninja
источник

D

DmitryZ in JavaScript.Ninja
Какие данные лучше не использовать в React Context?
источник

PG

Pavel Gubin in JavaScript.Ninja
Дмитрий Мовчан
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
Выдаст же, почему нет?
источник

v

vasilich in JavaScript.Ninja
Которые не могу понадобиться в рандомно любом месте
источник

PG

Pavel Gubin in JavaScript.Ninja
Наоборот, лучше интерфейсами, так как можем описать необязательные пропсы, интерфейс не предполагает что в объекте могут быть неописанные свойства...если мы попробуем взять свойство из пропсов, которого нет в описанном интерфейсе - выдаст ошибку
источник

ZG

Zakhar Gulchak in JavaScript.Ninja
N P
Всем привет, в поисках ментора.
Изучаю Frontend с июня 2019 года.

Подробнее о том, чему научился расскажу в ЛС.
Привет. Напиши мне в личку. Можем попробовать созвониться на днях.
источник

Д

Дмитрий Мовчан in JavaScript.Ninja
Pavel Gubin
Наоборот, лучше интерфейсами, так как можем описать необязательные пропсы, интерфейс не предполагает что в объекте могут быть неописанные свойства...если мы попробуем взять свойство из пропсов, которого нет в описанном интерфейсе - выдаст ошибку
Да, извиняюсь, что-то меня проглючило. Я просто помню что когда-то давно была ситуация когда используя интерфейсы для пропсов я как-то смог использовать пропсы не описаные в интерфейсах, с тех пор использую типы для пропсов.
Кстати, в типах тоже можно описать необязательные пропсы.
источник

T

Taras in JavaScript.Ninja
Дмитрий Мовчан
Пропсы лучше типами описывать, потому что интерфейс предполагает что в объекте могут быть свойства не описанные в интерфейсе, соответственно ты можешь ошибиться и использовать пропсы которые в интерфейсе не описаны и тебе не выдаст ошибку.
А это разве вызовет ошибку? Ну тоесть если я даже передам что то левое и не буду использовать. Или не будет ошибки если буду использовать?
источник

DN

Dima Nazdratenko in JavaScript.Ninja
народ, кто делал свои пакеты в npm подскажите. Сегодня в проде вылез баг с одним из моих пакетов установленных, начал копать и понял что изменили в новых версиях пару дней назад кое что и оно сломалось.
Обнаружил я это когда удалял папку node_modules и заново переставлял зависимости, и вот версия которая у меня уже работала больше года подтягивает такой же код как и в последних версиях пакета, как так?
источник

SS

Sasha Semaniuk in JavaScript.Ninja
Dima Nazdratenko
народ, кто делал свои пакеты в npm подскажите. Сегодня в проде вылез баг с одним из моих пакетов установленных, начал копать и понял что изменили в новых версиях пару дней назад кое что и оно сломалось.
Обнаружил я это когда удалял папку node_modules и заново переставлял зависимости, и вот версия которая у меня уже работала больше года подтягивает такой же код как и в последних версиях пакета, как так?
если нужно старую версию пакетов - укажите их в package-lock.json
источник