Все мы знаем, что JavaScript, пожалуй, самый популярный и широко используемый инструмент для создания программного обеспечения в наши дни, похоже, что javaScript захватил мир разработки программного обеспечения от создания веб-сайта до веб-серверов с NodeJs, с Electron на ваших машинах и, наконец, Благодаря Facebook, React Native встроен в ваш телефон. Нет сомнений в том, что это швейцарский армейский нож для создания программного обеспечения. Все, что можно написать на JavaScript, со временем будет написано на JavaScript.

Итак, JavaScript повсюду, однако доминирование JavaScript произошло так быстро, что теперь у нас мало проблем. Нет ничего плохого в том, чтобы везде говорить на одном языке, но это не тот язык, который нам нравится, а язык, который у нас есть. JavaScript все еще развивается, у нас есть ES2015, ES2016, ES2017, которые все еще идут с некоторыми хорошими дополнениями, но некоторые пробелы все еще существуют. У нас есть корпоративные приложения, работающие на javascript, но у нас нет хорошего способа написания этого программного обеспечения корпоративного уровня, то есть создания компонентов, таких как классы, интерфейсы, которых нет в JavaScript, у нас нет статических типов, как у большинства других популярных языков, таких как C , CPP, python, что делает программное обеспечение более стабильным и свободным от ошибок времени выполнения, которые могут вызвать проблемы. И вот здесь на сцену выходит TypeScript.

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

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

//JavaScript
function getName(fullName){
      if(fullName){
          return "John Doe"
      }
   return "John"
}
let name= getName('false') // John Doe

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

//TypeScript
function getName(fullName:boolean):string{
      if(fullName){
          return "John Doe"
      }
   return "John"
}
let name= getName('false') // throws error 'string' can be assigned to a parameter of type 'boolean'.

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

Вы видите небольшое красное подчеркивание? Теперь TypeScript сообщает нам, что мы сделали что-то не так и нам нужно это исправить. Большой! так что теперь вместо запоминания UppeCase () принимает только строку, мы можем доверять TypeScript, чтобы запомнить ее. Представьте, что у нас есть тысячи или даже десятки тысяч методов и строк кода, и мы все еще не можем полагаться на TypeScript, чтобы иметь свою спину.

Начало работы с TypeScript.

Начать работу с TypeScript действительно легко, прежде чем двигаться дальше, все, что вам нужно, - это установить NodeJs и NPM, и все готово. Теперь откройте терминал и введите следующие команды.

npm install -g typescript

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

mkdir awesome-typescript
cd awesome-typescript
mkdir src
npm init -y
npm i typescript --save
touch tsconfig.json

Следующим шагом будет инициализация базового файла конфигурации.

Теперь после этого все, что нам нужно сделать, это создать файл .ts в нашем проекте.

После всего этого мы получаем вот что. Хорошо, теперь вы можете следовать другим примерам. Теперь мы напишем весь код в файл .ts, а файл .js будет скомпилированной версией кода машинописного текста, которым в нашем случае является es2016, потому что мы указали его в нашем файле tsconfig.

Теперь у использования TypeScript есть много других преимуществ, таких как типы в TypesScript.

Мы знаем, что в JavaScript есть только следующие типы

  • Число
  • нулевой
  • логический
  • Нить
  • неопределенный

Все остальное в JavaScript - это объект

  • Функции - это первоклассный объект в мире JavaScript
  • Массивы также являются объектами
  • Прототипы - это объект

Странно, правда?

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

  • Любой

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

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

  • Пустота

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

  • кортежи

Кортежи - это ваши организованные массивы. Типы кортежей позволяют выразить массив с фиксированным числом элементов, типы которых известны.

Теперь здесь мы видим красное подчеркивание, что означает, что наш редактор сообщает нам, что мы где-то напортачили. Здесь мы попытались присвоить строку числу внутри массива. Довольно круто, верно!

  • нулевой

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

Вы можете найти больше типов на начальном веб-сайте TypeScript.

Когда имеет смысл использовать TypeScript

  • Предпочитать строгую проверку типа: добавление строгой проверки типа сокращает накладные расходы. В javaScript можно выполнять проверки типов во время выполнения, но это только увеличит накладные расходы, которые можно легко устранить, используя проверки во время компиляции, которые выполняются с помощью typeScript.
  • Крупное программное обеспечение или несколько разработчиков. Добавление TypeScript имеет гораздо больше смысла, когда многие разработчики работают над одной базой кода, что всегда будет иметь место, если вы работаете над большим проектом. Интерфейсы TypeScripts, переопределения методов, типы доступа (какие методы являются частными, защищенными или общедоступными) могут быть полезны.

Заключение

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

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