Вы не знаете, зачем используете TypeScript

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

Задумайтесь на секунду, почему вы используете Typescript?

Давайте посмотрим на несколько статей по этой теме:







И еще много статей, которые вы можете найти…

«Динамическая типизация - проблема безопасности»

Это то, что возникает, когда говорят о том, как использовать TypeScript вместо JavaScript, если вам нужна безопасность.

Динамическая типизация может привести к проблемам с безопасностью в таблице, но это не означает, что невозможно написать безопасный код JavaScript.

В экосистеме JavaScript доступно несколько решений для тестирования, и есть проверенный в боях код JavaScript, который не спешил переходить на TypeScript, потому что без него невозможно писать безопасные приложения.

Вы не можете заменить тесты статической типизацией, отсутствие тестов - потенциальная проблема безопасности. Вы ведь пишете тесты?

Статическая типизация полезна, но использовать ее вместо тестов при использовании супернабора языка, потому что она безопасна, не имеет смысла.

«Вы пишете еще немного кода»

Я не могу сказать, сколько еще кода вы напишете, но для проектов, над которыми я работаю, это было… достаточно кода!

И это не считая чужого кода, в репозитории Определенного Типа никогда не будет всех библиотек, хотя в нем большое количество пакетов с типами и самыми популярными.

«TypeScript - это JavaScript»

TypeScript - это не JavaScript, ваш код будет перенесен на JavaScript, это не то же самое, что когда вы программируете на C, языке со строгой типизацией по умолчанию.

Транспилирование добавляет еще один процесс, который может создавать свои собственные наборы ошибок, вы не смотрите на то, как выглядит ваш код.

«TypeScript более надежен»

В этом утверждении есть проблема, оно не дает четкого предложения.

Давайте спросим у Google определение надежности:

неизменно хорошее качество или производительность; можно доверять.

Надежный… в чем? Насколько я могу полагаться на него больше, чем на JavaScript, авторы почти всегда ссылаются на типы, когда говорят, что TypeScript более надежен, но на самом деле не говорят, насколько он более надежен в отношении чего.

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

TypeScript не делает ваш код пуленепробиваемым

Создается впечатление, что ваш код пуленепробиваемый.

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

Транспортировка типов почти такая же, как только использование reinterpret_cast в C ++, это говорит себе (или компилятору), что переменная имеет другой тип, хотя в ней нет необходимости иметь этот тип, вы просто надеетесь, что это так.

Использование TypeScript - не повод пропускать тесты и иметь четкий процесс интеграции! TypeScript предоставляет преобразованные статические типы.

TypeScript может помочь

Если у вас большая компания, где ваши сотрудники не очень разбираются в JavaScript, неплохо было бы внедрить TypeScript в команду.

Хотя некоторым может быть неприятно тратить время на то, чтобы притворяться, что у языка есть статические типы, писать типы для разных пакетов и увлекаться неразборчивым раздутым синтаксисом ввода, было бы здорово иметь его в вашей компании, поскольку он «надежен» " или что-то.

TypeScript может быть плюсом, но не позволяйте ему истощать ваше время или душу, если вы небольшая команда разработчиков, если у вас не так много ресурсов, потратьте это время на тесты или новые функции.

Прольем свет на ReScript

Отказ от ответственности: это мое мнение ниже.

ReScript полностью «типизирован» и не такой раздутый! Подходит как тем, кто знает, так и тем, кто не знает JavaScript.



Я рекомендую взглянуть на него, он популярен не только потому, что этого хочет большая компания.

Изменить: Каким-то образом этот пост получил много просмотров, если я не могу прояснить, этот пост является ответом на статьи, требующие догматических решений без каких-либо объяснений. Если Typescript решит что-то за вас или нет, вам это знать, и я не могу сказать, что это не так, нет большой выборки данных, чтобы показать, полезно ли это, и это будет зависеть от нескольких факторов или от того, как это полезно, так что это обсуждение, когда наше мнение сводится к столу, и вы можете не соглашаться со мной.