developers-roadmap
developers-roadmap copied to clipboard
Обсуждение Jun-2/TypeScript
-
Добавить вопрос про definite assignment assertions
-
Вопрос "Какие накладывает ограничения наследование от класса?" разместить под вопросом "Каковы назначения модификаторов свойств классов?". И в целом нужно подумать как там вопросы отсортировать по смыслу.
-
Расширить вопрос "Каковы назначения модификаторов свойств классов?", спросить про новый синтаксис приватных полей –
#
, в чем отличияprivate
от#
-
Расширить/изменить вопрос "Можно ли объявить в интерфейсе тип метода таким образом, чтобы он возвращал контекст своего вызова?", видимо это называется "полиморфный this", можно попробовать копнуть глубже.
В каких случаях при наследовании от Error instanceof может вернуть некорректный результат? Как можно решить эту проблему?
Точно нужен этот вопрос?
Точно нужен этот вопрос?
Вроде уже не раз обсуждали это, вроде пришли к выводу что пусть будет
Вроде уже не раз обсуждали это, вроде пришли к выводу что пусть будет
Я сомневаюсь, что такой кейс актуальный, не могу его воспроизвести
оно актуально если в tsconfig выставить target: es5
собственно в этом и цель вопроса, чтобы ты знал, что с target: es5
есть проблемы с расширением стандартных классов (там вроде не только с Error такой баг). И есть костыль, который чинит поведение instanceof даже в es5
В каких случаях при наследовании от Error instanceof может вернуть некорректный результат? Как можно решить эту проблему?
Точно нужен этот вопрос?
я в свое время тоже топил, чтобы этот вопрос убрать, ибо он мега-специфичный я в общем-то и сейчас так же думаю мы же не можем все частные проблемы сюда тащить, если кто-то с этим столкнется, то ну разберется я думаю, у нас львиная доля работы состоит в том, чтобы проблемы такого рода разруливать, поэтому я хз зачем это тут
@in19farkt @prodderman @chmnkh тут в итоге есть решение? Я так понимаю, про наследование Error вопроса больше нет, а по остальным? И есть ли у кого-то дополнения, давайте сразу актуализируем и всё занесём в топик?
Расширить вопрос "Каковы назначения модификаторов свойств классов?", спросить про новый синтаксис приватных полей – #, в чем отличия private от #
Думаю, вопрос про синтаксис приватных полей лучше занести в тему js, а спросить в чем отличие, я за)
По выводам согласен. Еще в вопросе про типы данных непонятно, имеется в виду Object или object.
https://github.com/fullstack-development/developers-roadmap/issues/190#issuecomment-611985200
Так как кейс довольно специфичный возникают сложности с тем что воссоздать его, а так же нет уверенности что нагуглил именно нужную проблему. Если оставляем вопрос про наследование от Error, предлагаю добавить материалы по этой теме в ресурсы, @in19farkt.
Кейс с Error (на самом деле не только с Error) воспроизводится только с target: es5, если у нас на проектах используется такой таргет, то как минимум нужно оставить эту ссылку в ресурсах, чтобы народ знал, что екстендиться от стандартных классов опасно.
Либо, как вариант, этот кейс можно вынести отдельным правилом в наши стандарты, типа "не расширяйте стандартные классы, такие как Array, Error, Map и другие, потому что вот почему"
Ну кстати да, возможно, что тут лучше это в стандарты вынести, чем в карту заносить
1 - можно оформить как вопрос Что такое утверждение определенного присваивания(definite-assignment-assertions)?
я думаю стоит этот вопрос добавить третьему джуну а не второму. Какой-то он специфичный. И я вообще про это не знал и не пользовался, ведь везде одни константы.
2 - ок. Остальные вопросы вроде не требуют сортировки, но это на мой невнимательный взгляд)
3 - ок.
4 - незнаю чем тут можно расширить, тем более в контексте этого уровня.
чуть позже пр сделаю.
По выводам согласен. Еще в вопросе про типы данных непонятно, имеется в виду Object или object.
хм, любопытно. Я думаю надо добавить оба варианта к вопросу про типы данных.