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 код должен быть скомпилирован, в то время когда JavaScript не нуждается в компиляции.
- TypeScript поддерживает функцию прототипирования, в отличие от JavaScript.
- TypeScript использует такие концепции, как типы и интерфейсы для описания используемых данных, в то время как в JavaScript таких концепций нет.
- TypeScript — это мощная система типов включающая дженерики и возможности JavaScript для больших проектов, в то время как JavaScript идеален для небольших проектов.
Почему JavaScript?
- Проект с открытым исходным кодом под патронажем Майкрософт
- Специально разработанный инструмент для небольших сценариев
- Поддерживает классы, интерфейсы и модули
- Скомпилированный JavaScript запускается в любом браузере
- Разрешает кросс-компиляцию
- Вы можете расширить JavaScript для написания больших приложений
- Добавляет поддержку классов, интерфейсов и модулей.
Почему TypeScript?
- TypeScript поддерживает JavaScript-библиотеки и API-документацию
- Это надмножество JavaScript
- Это опционально типизированный язык сценариев
- TypeScript можно конвертировать в простой JavaScript код
- Улучшенная структура кода и техники объектно-ориентированного программирования
- Обеспечивает лучшую поддержку инструмента времени разработки
- Он может расширить язык за пределы стандартных декораторов async/await
Разница между JavaScript и TypeScript
Ниже приведены основные различия TypeScript и javaScript
Параметр | TypeScript | JavaScript |
---|---|---|
Что это | Мощная система типов, | Лёгкий, интерпретируемый, |
Присвоение | TypeScript использует | В JavaScript нет |
Экосистема | Мощная и интуитивно | JavaScript даёт |
NPM пакеты | С TypeScript, | JavaScript даёт |
Кривая обучения | Жёсткая кривая | Гибкий и простой в |
Прототипирование | В TypeScript есть | У JavaScript нет |
Сообщество | У TypeScript нет | У JavaScript огромное |
Компиляция | TypeScript код | JavaScript не требуется |
Аннотация | Что бы получить | В JavaScript не требуется |
Известные | Asana, | Airbnb, |
Зарплаты (в США) | Средняя зарплата | Средняя зарплата |
История JavaScript
Программист корпорации Netscape Communication Брендан Эйх (или Айк) (Brendan Eich /ˈaɪk/) создал язык для изначально называвшийся Mocha
он предназначался для работы Netscape navigator. Однако став популярным инструментом для создания скриптов был переименован в LiveScript. Позже он был переименован в JavaScript, что бы отобразить поддержку Java в браузере Netscape.
Давайте посмотрим на важные вехи в истории javaScript:
- Он был запущен в сентябре 1995 и понадобилось всего десять дней для разработки языка сценариев, который первоначально назывался
Mocha
- В ноябре 1996 года Netscape представила JavaScript в ECMA (European Computer Manufacturers Association — Европейская Ассоциация Производителей Компьютеров) International
- ECMAScript 2 был выпущен в 1998 году
- ECMAScript 3 был выпущен в 1999 году
- В 2005 году Эйх (Айк) и Mozilla присоединились к ECMA для разработки E4X JavaScript
- В январе 2009 был запущен проект CommonJS с целью определения общей стандартной библиотеки
- В июне 2011 года был выпущен ECMAScript 5.1
- В июне 2015 года был выпущен ECMAScript 2016
- Текущая версия ECMAScript 2017, была выпущена в июне 2017 года
История TypeScript
Давайте рассмотрим важные вехи в истории TypeScript:
- Впервые TypeScript был представлен публике в 2012 году
- После двух лет внутренней разработки в Майкрософт, в 2013 году был выпущен TypeScript 0.9
- Дополнительная поддержка дженериков появилась в TypeScript 1.0, выпущенном в 2014 году
- В Июле 2014 года, новый компилятор TypeScript стал работать в пять раз быстрее предыдущих версий
- В Июле 2015 года появилась поддержка модулей ES6, пространства имён, ключевое слово
for ... of support
, декораторы - В ноябре 2016 были добавлены
keyof
и типы поиска, сопоставленные типы и остальное - 27 марта 2018 года, добавлены условные типы, улучшены поддержка
keyof
с типами пересечения Typescript
Возможности JavaScript
- Это кросс-платформенный язык
- Используется для программирования как на стороне клиента, так и на стороне сервера
- Лёгок для изучения и старта
- Динамический язык: гибки и мощный
- Большая
свобода выбора
делать всё, что вы хотите с любым объектом - Надёжный процесс тестирования
- Добавлены зависимости
- Нет поддержки фреймворков
Возможности TypeScript
- Обслуживаемость
- Предлагает отличную производительность для разработчиков
- Навигация по коду и предотвращение ошибок
Обнаруживаемость
и рефакторинг- Опциональная аннотация статических типов / статическая типизация
- Дополнительные возможности функций
- Поддерживает ES6
- Поддерживает интерфейсы, под-интерфейсы, классы и под-классы
- Масштабируемая html5 разработка на стороне клиента
- IDE с богатым функционалом, возможностями автодополнения и навигации по коду
- Основанный на классах объектно-ориентированный с наследованием приватных свойств и интерфейсов
JavaScript vs. TypeScript: Что лучше?
Подводя итоги сравнения JavaScript и TypeScript можно сказать, что если опытный разработчик работает над небольшим проектом, то идеальным вариантом будет — JavaScript. Однако если у вас команда опытных разработчиков, предпочтительным вариантом будет TypeScript.