Как разработчики, мы иногда застреваем, решая, какие фреймворки/языки использовать, особенно если мы знаем более одного, который соответствует нашим потребностям или хочет изучить. Часто узнавая больше о том, что делает их уникальными, вы указываете правильное направление.

В этом блоге рассказывается о JavaScript и Typescript, их использовании, различиях и совместимости.

Что такое JavaScript?

Согласно МДН,

«JavaScript — это язык сценариев или программирования, позволяющий реализовывать сложные функции на веб-страницах». — МДН

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

Что такое машинопись

Согласно официальной документации,

«TypeScript — это язык с открытым исходным кодом, который основан на JavaScript… путем добавления определений статических типов». - Машинописные документы

Хорошо сказано, но что такое определения статических типов? Проще говоря, статическая типизация — это искусство объявления переменной перед ее использованием, чтобы вы не могли использовать переменные, которые вы явно не объявили. Таким образом, некоторые ошибки разработчика (например, когда вы делаете орфографическую ошибку) будут вызывать синтаксическую ошибку вместо семантической ошибки (т. е. ошибка будет возникать во время компиляции, а не во время выполнения). Подробнее здесь

Как они используются / для чего они используются?

Проще говоря, JavaScript используется для того, чтобы веб-страницы реагировали на взаимодействие с пользователем. Typescript компилируется в JS, чтобы делать то же самое, что и JS.

Они взаимозаменяемы?

Поскольку Typescript компилируется в JS, можно с уверенностью сказать, что они взаимозаменяемы, что в данном контексте означает, что вы можете использовать Typescript вместо JS или наоборот. TS совместим с Babel, swc и Sucrase, но вам все равно понадобится зависимость typescript (и вам может понадобиться включить isolatedModules).

Что я должен использовать?

Вы, наверное, догадались, что здесь я не буду давать прямого ответа 😄, впрочем, все просто. При выборе между JS и Typescript вы должны учитывать размер проекта, текущий статус (если это текущий проект или просто нуждается в обслуживании или вы только начинаете), культуру компании / ваши личные предпочтения и ваши мнения команды (особенно если вы думаете о переходе с JS на TS), среди других факторов. Некоторые люди предпочитают старый добрый JS, в то время как другим нравится проверка типов и раннее обнаружение ошибок, которые предоставляет Typescript.

Начало работы с машинописным текстом

Установите Typescript в Node через

npm install typescript --save-dev
//or
yarn add typescript --dev

Вы также можете установить его как расширение на VSCode.

Подробнее об установке и использовании TS

Могу ли я использовать оба?

Да! Согласно официальной документации typescript,

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

Хотя я не ожидаю, что каждый читатель полностью поймет, что означает приведенная выше цитата, вы должны знать, что, поскольку TS приводит к JS, их можно использовать вместе с некоторыми изменениями. Я нашел этот хорошо подробный пост о переполнении стека об использовании обоих.

Личные мысли: несмотря на то, что TS — это отдельный язык, я предпочитаю думать о нем как о какой-то дополнительной библиотеке, такой как Redux. На изучение и настройку может уйти некоторое время, но после этого жизнь разработчика становится на +1 проще.

Это все на данный момент. Если вам все еще что-то непонятно, дайте мне знать в комментариях ниже или посмотрите на g👀gle.

Спасибо за чтение!

Ресурсы