Думаю, что все, кто так или иначе имел дело с программированием для современного web, согласятся, что представить его без TypeScript уже практически невозможно. Преимущества, коотрые даёт система типов TS, считаются неоспоримыми. К тому же последнее время мы столкнулись с вызовами AI, инструменты которого тоже используют возможности TypeScript и JavaScript.
Большинство специалистов согласятся и с тем, что мы в каком-то смысле потеряли в возможностях и «гибкости», которую давал JavaScript, в угоду стандартизации и общепринятым правилам, диктуемым TypeScript.
Но что, если всё на самом деле не так однозначно?
В докладе попробуем создать комбинацию возможностей JavaScript, дополняющую преимущества TypeScript и устраняющую потери в гибкости. Для этого придётся закопаться в прототипное наследование и глубже разобраться в системе типов. Безусловно, строгая типизация в Run Time, аналогичная декларациям TypeScript, уже давно не является сложностью, и, разумеется, JavaScript при этом по-прежнему будет казаться намного гибче, чем TypeScript, но мы постараемся показать, что система типов покрывает гораздо больше возможностей и сложность объединения преимуществ гибкости и строгости совсем не в том, в чём кажется.
JS / TS, Структуры данных
Бэкенд-разработчик, Фронтенд-разработчик, Руководитель команды / Технический руководитель
Экспертный
С 2011 года занимается консалтингом по разработке решений на Node.js. Застал времена, когда еще не было ни JavaScript, ни «снежинок», ни layers в Netscape Navigator. В последнее время интересуется топологией трансформации данных. Иногда воображает себя музыкантом. Мечтатель.