TypeScript что это
TypeScript (TS, TScript или «тайпскрипт») — язык программирования, который используется в веб-проектах. Он основан на JavaScript, но код TS проще, понятнее и надежнее за счет статической типизации (привязки переменных к конкретным типам данных). Кроме того, код, написанный на TS может компилироваться в JavaScript. Этот язык активно используется во фронтенде и бэкенде.
Вместе с экспертами агрегатора онлайн-курсов Kursfinder мы создали детальную статью, посвящённую TypeScript — языку программирования, который является расширением JavaScript.
Для тех, кто заинтересован в дальнейшем изучении этого языка, мы также включили информацию о курсах TypeScript, которые помогут разработчикам углубить свои знания и навыки.
Отличия TypeScript от JavaScript
Строгая типизация
JavaScript отличается от TS нестрогой, динамичной типизацией. JS позволяет присваивать одной переменной числовое, а потом текстовое значение и т.д. У TypeScript строгая типизация, поэтому каждой переменной во время создания присваивается свой type. Он может быть стандартным или созданным разработчиком. Типы могут создаваться в пределах возможностей языка
Что означает присвоение типа переменной? – Это говорит о том, что при использовании скрипта, переменная будет принимать значения только в рамках своего типа. Переменные, имеющие тип числа, будут являться только числом. При попытке присвоения им строковых значений будет выдаваться ошибка.
Кроме примитивных типов, которые есть в JS, у TypeScript есть другие, например, any – позволяет применять любое значение или void – функции без return’a, которые ничего не возвращают.
Объектно-ориентированный подход
При объектно-ориентированном подходе информация рассматривается в виде классов и объектов. Классы в этом случае «каркасы», на основе которых создаются объекты, а объекты – сложные экземпляры данных. У каждого объекта есть свой класс, как у переменной тип.
JavaScript имеет возможности для реализации объектно-ориентированного подхода, но лишь отчасти. В языке поддерживаются классы и объекты, что позволяет реализовывать базовые действия. Но при этом язык не взаимодействует с модификаторами доступа – возможностью делать часть класса открытой или закрытой для стороннего доступа.
TypeScript отличается поддержкой трех модификаторов:
-
Public — позволяет получать доступ к элементам без ограничений. Устанавливается по умолчанию.
-
Private — доступ к таким элементам возможен только из класса, в котором они определены.
-
Protected — к ним можно получить доступ из класса, в котором они определены, а также в подклассах или производных класса.
TypeScript позволяет добавить в JavaScript дополнительные возможности ООП, например, модификаторы доступа, абстрактные классы, а также прочие возможности подхода.
Высокая скорость работы над проектом
TS позволяет снизить время на проведение дебаггинга, который сложно выполнять в динамической среде JS. Язык дает возможность писать более понятный и читаемый код, который отличается максимальным описанием предметной области. Это делает архитектуру приложения более выраженной.
Как работает TypeScript
Код, который пишется на TS нельзя выполнять напрямую в браузере. Поэтому TypeScrit не является самостоятельным языком. Это просто языковая надстройка JS. Чтобы код работал необходим дополнительный этап – транспиляция, при которой ПО выполняет преобразование кода на TS в «чистый» JS.
JavaScipt не нуждается в установке в систему, так как язык по умолчанию поддерживается любыми браузерами. А вот TypeScript необходимо установить, так как транспиляция требует наличия модуля tcs. Для этого необходимо установить Node.js, загрузить пакет для программирования на TS через NPM:
npm install -g typescript
Когда программа на TypeScript написана, вы получите файл, имеющий расширение .ts. После этого необходимо компилирование и преобразование в JavaScript с помощью tsc. Выполнить это можно посредством консоли:
tsc file_example.ts
Пример кода
const getUsers = (): ThunkAction<void, {}, {}, AnyAction> =>
async (dispatch: ThunkDispatch<{}, {}, AnyAction>) => {
//…
try {
const users: User[] = await APIService.get(‘/users’)
dispatch(successGetUsers(users))
} catch(err) {
dispatch(failedGetUsers(err))
}
}
Написать и выполнить код на TS можно на этой страницы браузера без использования локальных настроек.
Плюсы TypeScript
-
Если в процессе модификации кода допустить ошибки, их будет видно сразу, а не когда код будет выполняться.
-
Наличие интерфейса и классов.
-
Открытый исходный код, выложенный на GitHub.
-
Ускорение и упрощение написания комплексных решений, которые будут отличаться простотой развития и тестирования.
-
Простота изучения и большое количество мануалов.
-
Высокая скорость компиляции.
-
Распространение по лицензии Apache.
Минусы TypeScript
-
Нельзя выполнить типизацию ошибок, которые появляются работать в режиме реального времени.
-
Вкладка TS есть не у всех браузеров в консоли, что увеличивает время, необходимое для работы.
-
Большое количество нетривиальных классов, в которых нужно разбираться.
-
Статическая типизация обходится за счет типа данных any.
А вы знали, что у нас есть Telegram?
Подписывайтесь, если вы ценитель красивых фото и интересных историй!