- Frontend
Старший frontend-разработчик (React). Более 5 лет опыта в С++, более 3 лет в backend на Java (Spring Boot). Увлекаюсь вопросами дизайна языков программирования, математической логикой, устройством компиляторов и сред исполнения. В последнее время много интересуюсь UI-фреймворками, распределенными системами, DevOps-практиками и системным анализом. Люблю open source.
При первом изучении TypeScript складывается впечатление, что это простое добавление типов и нескольких синтаксических конструкций к JavaScript, внедрять в проекты можно постепенно, изучать не сложно, если хорошо знать JavaScript. Этим TypeScript и подкупает, не отпугивая новичков на первых шагах.
Между тем, TypeScript имеет мощную и гибкую систему типов, за которой стоят интересные теоретические идеи. С ростом степени внедрения TypeScript на проектах всплывает много нюансов и даже проблем, приводящих к непродуктивной борьбе с компилятором или ошибками во время исполнения. Чтобы справиться с ними, а также сформировать "лучшие практики", требуется более глубокое понимание языка, его возможностей и ограничений.
В докладе кратко коснёмся теории типов, её связи с семантикой языка программирования. Обратим внимание на характерные черты системы типов TypeScript, чтобы увереннее ориентироваться в возможностях языка. Немало времени уделим и слабым сторонам TypeScript.
Начинающие разработчики, интересующиеся или использующие TypeScript