писать очевидные вещи? ts некий дополнительный уровень абстракции над js, нетипизированным языком. Работа с типами и интерфейсами проводится на стадии трансфрормации ts в js тем же babel и прямо скажем в целом работает неплохо, хотя косяков больше чем в полноценных типизированных языках той же java. не хочется называть это костылями, дабы не навлечь гнев фанатов ts. что касается интерфейсов - их применение ограничено ..все проверки происходят в "compille time" и уже в runtime нет возможности к примеру проверить принадлежит ли тот или отдельный класс такому то интерфейсу, что в той же java очень распространенный подход. И пусть не обижаются фанаты ts - это замечательный язык, с кучей фишек которых нет у java и много у нее позаимствовавший, но в силу своей природы многие вещи на ts невозможно полноценно реализовать и типизация и интерфейсы ,как это сделано в ts это почти максимум из того,что можно было сделать учитывая, что это в итоге конвертируется в нетипизированный js код и вся информация о тех же интерфейсах в js коде выкидывается.
он позволяет быть уверенным, что в рантайме не будет ошибок типов (конечно, если включен strict и не позволять писать any), и позволяет не думать, надо ли проверять типы или нет. Он не позволит написать дичь с точки зрения типов, заставит писать все нужные проверки. Само собой, можно юзать any и выключить strict, тогда да, он всего лишь поможет видеть типы 🙂 Но он гораздо мощнее этого.
очевидные вещи. я не собираюсь с этим спорить. 😉
Обсуждают сегодня