JavaScript и TypeScript: В чём разница?

Источник: «Typescript vs JavaScript: What’s the Difference?»
Поищем ответ на вопросы: в чём разница между JavaScript и TypeScript, и что из них предпочтительнее для разработки

Что такое JavaScript?

JavaScript — это язык сценариев, который помогает создавать интерактивные веб-страницы. Он следует правилам программирования на стороне клиента, поэтому он запускается в веб-браузере пользователя без необходимости использования каких-либо ресурсов веб-сервера. Так же вы можете использовать JavaScript с другими технологиями, такими как REST API, XML и прочие.

Идея разработки этого сценария состоит в том, что бы сделать его дополнительным языком сценариев, таким как Visual Basic был для C++ в семействе языков Майкрософт. Однако JavaScript не предназначен для больших и сложных приложений. Он был разработан для приложений с несколькими сотнями строк кода!

Что такое TypeScript?

TypeScript — это современный язык разработки JavaScript. Это статически компилируемый язык для написания чистого и понятного JavaScript кода. Он может быть запущен на Node.js или в любом браузере, поддерживающим ECMASCript 3 или новее.

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

Далее мы рассмотрим ключевые различия между TypeScript и JavaScript.

Ключевые различия

Почему JavaScript?

Почему TypeScript?

Разница между JavaScript и TypeScript

Ниже приведены основные различия TypeScript и javaScript

ПараметрTypeScriptJavaScript
Что этоМощная система типов, включающая дженерики и возможности JSЛёгкий, интерпретируемый, объектно-ориентированный язык с первоклассными функциями
Присвоение данныхTypeScript использует такие концепции, как типы и интерфейсы для описания используемых данныхВ JavaScript нет такой концепции
ЭкосистемаМощная и интуитивно понятная экосистема. Таким образом он позволяет вам статически типизировать различные типы идиоматических возможностей JS, таких, как объединение, пересечения, различаемое объединение.JavaScript даёт возможность исследовать и создавать код без этапа сборки.
NPM пакетыС TypeScript, многие npm пакеты либо поставляются со статически определёнными типами, либо имеют дополнение которое легко установить.JavaScript даёт возможность исследовать и создавать код без этапа сборки.
Кривая обученияЖёсткая кривая обучения. Требует первоначального знания сценариев.Гибкий и простой в освоение язык сценариев
ПрототипированиеВ TypeScript есть возможность прототипированияУ JavaScript нет такой возможности
СообществоУ TypeScript нет большого сообщества разработчиковУ JavaScript огромное сообщество разработчиков
КомпиляцияTypeScript код необходимо компилироватьJavaScript не требуется компиляция
АннотацияЧто бы получить максимальную отдачу от TypeScript разработчик должен постоянно указывать тип переменныхВ JavaScript не требуется аннотация
Известные компании использующие технологиюAsana, Clever, Screen awardAirbnb, Codecademy, Instagram
Зарплаты (в США)Средняя зарплата TypeScript-разработчика в год 148027$Средняя зарплата JavaScript-разработчика в год 110777$

История JavaScript

Программист корпорации Netscape Communication Брендан Эйх (или Айк) (Brendan Eich /ˈaɪk/) создал язык для изначально называвшийся Mocha он предназначался для работы Netscape navigator. Однако став популярным инструментом для создания скриптов был переименован в LiveScript. Позже он был переименован в JavaScript, что бы отобразить поддержку Java в браузере Netscape.

Давайте посмотрим на важные вехи в истории javaScript:

История TypeScript

Давайте рассмотрим важные вехи в истории TypeScript:

Возможности JavaScript

Возможности TypeScript

JavaScript vs. TypeScript: Что лучше?

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

Дополнительные материалы

Предыдущая Статья

JavaScript vs. TypeScript

Следующая Статья

Gulp 4: Сквозные исходные потоки