all-threads-bot

Frontender`s Spectre

[HolyJS — конференция для JavaScript‑разработчиков] Василий Алфертьев — Дырявое решето типов: разбираемся с отношением подтипов в TypeScript

13 мая 2026 г., 13:56

Подробнее о конференции HolyJS: https://jrg.su/EM4wwV — — Скачать презентацию с сайта — https://jrg.su/dm3cQy TypeScript имеет низкий порог входа на первых шагах его изучения. Но не все разработчики изучают язык основательно и глубоко, после того как освоят его на определённом уровне, достаточном для работы. Разработчики, пришедшие в TypeScript из других языков, могут рассуждать о TypeScript по аналогии с языками из своего опыта, не изучая тщательно его нюансы. Из-за этого может сложиться неправильное представление о языке, его возможностях и ограничениях. Я же хочу подсветить сравнительно простые, но важные моменты, про которые мало говорят, но о которых стоит знать уже начинающим. Рассмотрим существенные, на мой взгляд, проблемы системы типов TypeScript, которые могут приводить к ошибкам во время исполнения программы, даже когда исходный код выглядит правильным и красивым, и никаких ошибок компиляции нет. Сосредоточимся на концепции отношения подтипов (subtyping), лежащего в основе систем типов многих языков программирования. Посмотрим на примерах, наскольно проверка совместимости типов в TypeScript расходится с настоящим отношением подтипов из математики.