Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какой пример необходимости использования строгой типизации в реальных условиях (js vs ts) можете привести?

ПрограммированиеJavascript+3
Анонимный вопрос
  · 469
Образовательная платформа Хекслет  · 15 июл 2021  · ru.hexlet.io

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

Самое приятное при подключении Typescript - это расширенные подсказки в IDE в тех случаях, где сущности выбираются динамически. Ещё бывает полезным использовать TS, чтобы чаще задумываться о реализации Null Object Pattern, чтобы отучить себя в коде от проверок, типа if (user && user.isAdmin). Также, для тех, кто писал на Java и хочет перекатиться в JavaScript, то переход через Typescript будет менее болезненным. Справедливо и обратное.

В остальном, доводы "за" и "против" чаще всего являются поводом поспорить, иногда развлечения ради, поэтому лучше ориентироваться на свой опыт. Кому-то удобно мыслить статикой, кому-то динамикой.

Также, типизацию можно сделать ненавязчивой, используя её через JSDoc только там, где это требуется. Об этом есть отдельная статья. Но без опыта весь этот синтаксис комментариев может только запутать и оставить неприятное впечатление.

Резюмируя всё вышесказанное, я бы рекомендовал опираться на личный опыт и собственное представление как правильно. Вы всегда найдёте сторонников в любом лагере. Чтобы в полной мере ощутить силу статической типизации, лучше писать на статически типизированных языках, типа C#, Java. И в динамических языках познайте их плюсы и минусы и научитесь использовать их без прикрученных сбоку инструментов.

Ну и, в конце концов, программисту платят за решённые задачи, а не выбранную технологию.

Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Лучший
старший разработчик в pseven.io  · 21 июл 2021
Смотря что вы имеете в виду под "строгой типизацией". В русскоязычной литературе так иногда называют сильную типизацию, которой TypeScript как раз не даёт. TypeScript добавляет опционную статическую типизацию, а по факту просто производит статическую проверку типов на этапе транспиляции в JS, после которой вы получаете обычный JS код с динамической слабой типизацией... Читать далее
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
1 эксперт согласен

Пример валидации на этапе семантического анализа

Grand Programmer Deni  · 27 авг 2021  · baskovsky.ru
По моему личному опыту строгая типизация TypeScript отлично подходит для работы с моделями, которые извлекаются, например через GraphQL. Еще хорошим примером служит игровая разработк, где модели описываются игровыми объектами, сложность которых минимизируется как раз статической типизацией. Хорошим вариантом перехода от JS к TS я считаю использование JSDoc. Источник: htt... Читать далее