developers-roadmap icon indicating copy to clipboard operation
developers-roadmap copied to clipboard

Обсуждение Jun-2/TypeScript

Open in19farkt opened this issue 4 years ago • 14 comments

  1. Добавить вопрос про definite assignment assertions

  2. Вопрос "Какие накладывает ограничения наследование от класса?" разместить под вопросом "Каковы назначения модификаторов свойств классов?". И в целом нужно подумать как там вопросы отсортировать по смыслу.

  3. Расширить вопрос "Каковы назначения модификаторов свойств классов?", спросить про новый синтаксис приватных полей – #, в чем отличия private от #

  4. Расширить/изменить вопрос "Можно ли объявить в интерфейсе тип метода таким образом, чтобы он возвращал контекст своего вызова?", видимо это называется "полиморфный this", можно попробовать копнуть глубже.

in19farkt avatar Apr 10 '20 07:04 in19farkt

В каких случаях при наследовании от Error instanceof может вернуть некорректный результат? Как можно решить эту проблему?

Точно нужен этот вопрос?

prodderman avatar Apr 10 '20 09:04 prodderman

Точно нужен этот вопрос?

Вроде уже не раз обсуждали это, вроде пришли к выводу что пусть будет

in19farkt avatar Apr 10 '20 11:04 in19farkt

Вроде уже не раз обсуждали это, вроде пришли к выводу что пусть будет

Я сомневаюсь, что такой кейс актуальный, не могу его воспроизвести

prodderman avatar Apr 10 '20 11:04 prodderman

оно актуально если в tsconfig выставить target: es5

in19farkt avatar Apr 10 '20 11:04 in19farkt

собственно в этом и цель вопроса, чтобы ты знал, что с target: es5 есть проблемы с расширением стандартных классов (там вроде не только с Error такой баг). И есть костыль, который чинит поведение instanceof даже в es5

in19farkt avatar Apr 10 '20 11:04 in19farkt

В каких случаях при наследовании от Error instanceof может вернуть некорректный результат? Как можно решить эту проблему?

Точно нужен этот вопрос?

я в свое время тоже топил, чтобы этот вопрос убрать, ибо он мега-специфичный я в общем-то и сейчас так же думаю мы же не можем все частные проблемы сюда тащить, если кто-то с этим столкнется, то ну разберется я думаю, у нас львиная доля работы состоит в том, чтобы проблемы такого рода разруливать, поэтому я хз зачем это тут

chmnkh avatar Apr 13 '20 02:04 chmnkh

@in19farkt @prodderman @chmnkh тут в итоге есть решение? Я так понимаю, про наследование Error вопроса больше нет, а по остальным? И есть ли у кого-то дополнения, давайте сразу актуализируем и всё занесём в топик?

Znack avatar Oct 14 '20 06:10 Znack

Расширить вопрос "Каковы назначения модификаторов свойств классов?", спросить про новый синтаксис приватных полей – #, в чем отличия private от #

Думаю, вопрос про синтаксис приватных полей лучше занести в тему js, а спросить в чем отличие, я за)

alagunoff avatar Oct 14 '20 07:10 alagunoff

По выводам согласен. Еще в вопросе про типы данных непонятно, имеется в виду Object или object.

iatsdotfatr avatar Oct 14 '20 07:10 iatsdotfatr

https://github.com/fullstack-development/developers-roadmap/issues/190#issuecomment-611985200

Так как кейс довольно специфичный возникают сложности с тем что воссоздать его, а так же нет уверенности что нагуглил именно нужную проблему. Если оставляем вопрос про наследование от Error, предлагаю добавить материалы по этой теме в ресурсы, @in19farkt.

AkhmadBabaev avatar Oct 16 '20 08:10 AkhmadBabaev

Кейс с Error (на самом деле не только с Error) воспроизводится только с target: es5, если у нас на проектах используется такой таргет, то как минимум нужно оставить эту ссылку в ресурсах, чтобы народ знал, что екстендиться от стандартных классов опасно.

Либо, как вариант, этот кейс можно вынести отдельным правилом в наши стандарты, типа "не расширяйте стандартные классы, такие как Array, Error, Map и другие, потому что вот почему"

in19farkt avatar Oct 16 '20 10:10 in19farkt

Ну кстати да, возможно, что тут лучше это в стандарты вынести, чем в карту заносить

Znack avatar Oct 17 '20 10:10 Znack

1 - можно оформить как вопрос Что такое утверждение определенного присваивания(definite-assignment-assertions)? я думаю стоит этот вопрос добавить третьему джуну а не второму. Какой-то он специфичный. И я вообще про это не знал и не пользовался, ведь везде одни константы. 2 - ок. Остальные вопросы вроде не требуют сортировки, но это на мой невнимательный взгляд) 3 - ок. 4 - незнаю чем тут можно расширить, тем более в контексте этого уровня. чуть позже пр сделаю.

Geksanit avatar Dec 01 '20 09:12 Geksanit

По выводам согласен. Еще в вопросе про типы данных непонятно, имеется в виду Object или object.

хм, любопытно. Я думаю надо добавить оба варианта к вопросу про типы данных.

Geksanit avatar Dec 01 '20 09:12 Geksanit