Size: a a a

Angular - русскоговорящее сообщество

2021 March 19

B

Bretbas in Angular - русскоговорящее сообщество
извините, я в основном бек пишу.
фронт так, тяп ляп
источник

B

Bretbas in Angular - русскоговорящее сообщество
Roman Yazvinsky
Вы предполагаете, что вам вернулся класс, но проверьте на instanceof :)
так по сути дела, если я напишу интерфейс, то это никак не изменит же картины
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Bretbas
а почему это работает тогда?
что тогда мне возвращается?
Вам возвращается объект похожий на ваш класс, но не он. Это называется утиная типизация
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Bretbas
так по сути дела, если я напишу интерфейс, то это никак не изменит же картины
Но вы не будете ошибочно предполагать, что у вас там инстанс класса
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Roman Yazvinsky
Вам возвращается объект похожий на ваш класс, но не он. Это называется утиная типизация
структурная
источник

B

Bretbas in Angular - русскоговорящее сообщество
Roman Yazvinsky
Но вы не будете ошибочно предполагать, что у вас там инстанс класса
только ради этого?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Bretbas
только ради этого?
Вся типизация тут строится на предположениях, ошибетесь как в моменте с null и пошло-поехало
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
Bretbas
вот такой:
this.http.get<Pagination<BankModel>>(url, { params: queryParams });
потому что инстанс класса - это, внезапно, объект
источник

B

Bretbas in Angular - русскоговорящее сообщество
в ts интерфейсы тоже принято с I начинать?

this.http.get<IPagination<IBankModel>>(url, { params: queryParams });
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
а инстанс интерфейса это тоже, внезапно, обхект
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
Bretbas
в ts интерфейсы тоже принято с I начинать?

this.http.get<IPagination<IBankModel>>(url, { params: queryParams });
Нет, это зависит от кодстайла в проекте. Но вообще нет
источник

B

Bretbas in Angular - русскоговорящее сообщество
вообщем когда использовать классы? никогда получается чтоли?
источник

B

Bretbas in Angular - русскоговорящее сообщество
я имею ввиду классы-модельки
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
Bretbas
вообщем когда использовать классы? никогда получается чтоли?
всмысле?
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
давай начнем с того что http.get тебе вернет объект
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
не инстанс класса, не еще что-то.

объект
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
JS в рантайме не знает ничего о типах, которые ты указал в дженериках.
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Bretbas
вообщем когда использовать классы? никогда получается чтоли?
Да, мне редко приходится использовать, но есть всякие случаи "умных" объектов, типа DataSource для таблицы
источник

B

Bretbas in Angular - русскоговорящее сообщество
Nathan 🦊 Perk @RF (худеет)
не инстанс класса, не еще что-то.

объект
да, ок.
я хочу на него типизированно смотреть, скажем через интерфейс.
источник

NP

Nathan 🦊 Perk @RF (х... in Angular - русскоговорящее сообщество
Bretbas
да, ок.
я хочу на него типизированно смотреть, скажем через интерфейс.
Для этого тебе нужен именно интерфейс
источник