TypeScript
TypeScript — это надмножество JavaScript, то есть, любой код на JS является правильным с точки зрения TypeScript. Однако, TypeScript обладает некоторыми дополнительными возможностями, которые не входят в JavaScript. Среди них — строгая типизация (то есть, указание типа переменной при её объявлении, что позволяет сделать поведение кода более предсказуемым и упростить отладку), механизмы объектно-ориентированного программирования и многое другое. Браузеры не поддерживают TypeScript напрямую, поэтому код на TS надо транспилировать в JavaScript.
Прежде чем пользоваться TypeScript, его надо установить:
В react есть команда для создания проекта на typescript
1.Типы данных в TypeScript
Перечисления(enum) - одна из немногих возможностей TypeScript, которые не являются расширением JavaScript на уровне типов.Перечисления позволяют разработчику определять набор именованных констант. Использование перечислений может упростить документирование намерений или создать набор отдельных случаев. TypeScript предоставляет как числовые, так и строковые перечисления.
2.Функции
Для минимизации числа аннотаций TypeScript активно использует вывод типов. Эта особенность позволяет использовать автодополнение, указывать на несовместимость типов, что так не хватает при разработке сложных JavaScript приложений. Типы значений в TypeScript указываются непосредственно в коде:
2.1. Работа с асинхронными функциями в typescript.
3. Интерфейсы
Не рекомендуется писать функции, которым надо передавать очень много параметров. Например, это может выглядеть так:
Избежать таких конструкций можно, включив параметры в объект и передав функции единственный объект. Тут нам помогут интерфейсы. Этот механизм есть в TypeScript:
4.Классы
Стоит выработать у себя привычку группировать связанные переменные (свойства) и функции (методы) в единую конструкцию, которая в программировании называется классом.
4.1 Доступ к свойствам и методам классов
Мы сгруппировали связанные переменные и методы в единый класс. Теперь надо разобраться с тем, как с ними работать. Для этого нужно создать экземпляр класса:
4.2. Конструктор
Конструктор — это метод, который вызывается автоматически при создании экземпляров класса. Конструктор позволяет задавать значения свойств. Вот пример работы с экземпляром класса, в котором возможности конструкторов не применяются:
4.3 Необязательные параметры в конструкторе
Что если мы решили использовать конструктор, но хотим, чтобы явное задание параметров при создании экземпляров класса было бы необязательно? Это возможно. Для этого надо использовать знак вопроса (?
) в конструкторе. Этот знак позволяет определять параметры, которые, при создании экземпляра класса, задавать необязательно:
4.4 Вспомогательные средства конструкторов
Выше мы добавляли конструктор к нашему классу следующим образом:
TypeScript позволяет записать то же самое в сокращённой форме:
4.5.Модификаторы доступа
Модификатор доступа — это ключевое слово, которое используется со свойством или членом класса для управления доступом к нему извне. В TypeScript есть три модификатора доступа: public
, protected
и private
. По умолчанию все члены класса общедоступны — это аналогично использованию с ними модификатора доступа public
, то есть, читать и модифицировать их можно извне. Использование модификатора доступа private
позволяет запретить внешним механизмам работу с членами класса. Например, здесь мы использовали данный модификатор со свойствами x
и y
Попытка использовать конструкцию myPoint.x
при работе с экземпляром класса приведёт к ошибке, так как свойство объявлено с модификатором доступа private
.
7. Mодули
Модули TypeScript используют существующие подходы CommonJS, AMD для реализации модульной системы.
8. Выводы
Таким образом TypeScript — легкий синтаксический сахар для JavaScript, препроцессор, который может значительно улучшить Вашу производительность позволяя использовать богатый набор инструментов, при этом сохраняя совместимость с существующим кодом и продолжая использовать Ваши любимые библиотеки JavaScript.
Last updated
Was this helpful?