Доклад

Дырявое решето типов: разбираемся с отношением подтипов в TypeScript

Зал 2На русском языке

TypeScript имеет низкий порог входа на первых шагах его изучения. Но не все разработчики изучают язык основательно и глубоко, после того как освоят его на определённом уровне, достаточном для работы. Разработчики, пришедшие в TypeScript из других языков, могут рассуждать о TypeScript по аналогии с языками из своего опыта, не изучая тщательно его нюансы. Из-за этого может сложиться неправильное представление о языке, его возможностях и ограничениях.

Я же хочу подсветить сравнительно простые, но важные моменты, про которые мало говорят, но о которых стоит знать уже начинающим.

Рассмотрим существенные, на мой взгляд, проблемы системы типов TypeScript, которые могут приводить к ошибкам во время исполнения программы, даже когда исходный код выглядит правильным и красивым, и никаких ошибок компиляции нет. Сосредоточимся на концепции отношения подтипов (subtyping), лежащего в основе систем типов многих языков программирования. Посмотрим на примерах, наскольно проверка совместимости типов в TypeScript расходится с настоящим отношением подтипов из математики.

Спикеры

Приглашенные эксперты

Расписание