TypeScript что это

0

TypeScript (TS, TScript или «тайпскрипт») — язык программирования, который используется в веб-проектах. Он основан на JavaScript, но код TS проще, понятнее и надежнее за счет статической типизации (привязки переменных к конкретным типам данных). Кроме того, код, написанный на TS может компилироваться в JavaScript. Этот язык активно используется во фронтенде и бэкенде.

Вместе с экспертами агрегатора онлайн-курсов Kursfinder мы создали детальную статью, посвящённую TypeScript — языку программирования, который является расширением JavaScript.

Bigpicture ru e293910ec585875a028f

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

Отличия TypeScript от JavaScript

Строгая типизация

JavaScript отличается от TS нестрогой, динамичной типизацией. JS позволяет присваивать одной переменной числовое, а потом текстовое значение и т.д. У TypeScript строгая типизация, поэтому каждой переменной во время создания присваивается свой type. Он может быть стандартным или созданным разработчиком. Типы могут создаваться в пределах возможностей языка

Что означает присвоение типа переменной? – Это говорит о том, что при использовании скрипта, переменная будет принимать значения только в рамках своего типа. Переменные, имеющие тип числа, будут являться только числом. При попытке присвоения им строковых значений будет выдаваться ошибка.

Кроме примитивных типов, которые есть в JS, у TypeScript есть другие, например, any – позволяет применять любое значение или void – функции без return’a, которые ничего не возвращают.

Объектно-ориентированный подход

При объектно-ориентированном подходе информация рассматривается в виде классов и объектов. Классы в этом случае «каркасы», на основе которых создаются объекты, а объекты – сложные экземпляры данных. У каждого объекта есть свой класс, как у переменной тип.

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

TypeScript отличается поддержкой трех модификаторов:

  • Public — позволяет получать доступ к элементам без ограничений. Устанавливается по умолчанию.

  • Private — доступ к таким элементам возможен только из класса, в котором они определены.

  • Protected — к ним можно получить доступ из класса, в котором они определены, а также в подклассах или производных класса.

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

Высокая скорость работы над проектом

TS позволяет снизить время на проведение дебаггинга, который сложно выполнять в динамической среде JS. Язык дает возможность писать более понятный и читаемый код, который отличается максимальным описанием предметной области. Это делает архитектуру приложения более выраженной.

Bigpicture ru 554867cae375a0ca7a6a

Как работает 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

  1. Если в процессе модификации кода допустить ошибки, их будет видно сразу, а не когда код будет выполняться.

  2. Наличие интерфейса и классов.

  3. Открытый исходный код, выложенный на GitHub.

  4. Ускорение и упрощение написания комплексных решений, которые будут отличаться простотой развития и тестирования.

  5. Простота изучения и большое количество мануалов.

  6. Высокая скорость компиляции.

  7. Распространение по лицензии Apache.

Минусы TypeScript

  1. Нельзя выполнить типизацию ошибок, которые появляются работать в режиме реального времени.

  2. Вкладка TS есть не у всех браузеров в консоли, что увеличивает время, необходимое для работы.

  3. Большое количество нетривиальных классов, в которых нужно разбираться.

  4. Статическая типизация обходится за счет типа данных any.

 

 

А вы знали, что у нас есть Telegram?

Подписывайтесь, если вы ценитель красивых фото и интересных историй!

Популярное

Самые горячие темы

Питомцы-двойники: 50 пар хозяев и животных с поразительным сходством

Питомцы-двойники: 50 пар хозяев и животных с поразительным сходством

От Неаполя до Папуа Новой Гвинеи: 25 портретов, которые невозможно забыть

От Неаполя до Папуа Новой Гвинеи: 25 портретов, которые невозможно забыть

Михримах-султан: нежная принцесса или хладнокровный политик?

Михримах-султан: нежная принцесса или хладнокровный политик?

Новые посты

Свиноскреб: как устроена самая большая высотная свиноферма на планете

Свиноскреб: как устроена самая большая высотная свиноферма на планете

«Что это за штука?»: 20+ странных вещей, которые ввели в заблуждение пользователей интернета

«Что это за штука?»: 20+ странных вещей, которые ввели в заблуждение пользователей интернета

Кругом обман — 15 доказательств того, что маркетологов в аду ждет отдельный котел

Кругом обман — 15 доказательств того, что маркетологов в аду ждет отдельный котел

25 столов с «садами» из суккулентов

25 столов с «садами» из суккулентов

Как выглядела мужская мода в 70-е. Надеемся, она никогда не вернется

Как выглядела мужская мода в 70-е. Надеемся, она никогда не вернется

Редкая птица — Айрис Апфель

Редкая птица — Айрис Апфель

Конфликты актёров за кадром: самые известные истории из Голливуда

Конфликты актёров за кадром: самые известные истории из Голливуда

10 простых способов избавиться от бессонницы и наконец-то выспаться

10 простых способов избавиться от бессонницы и наконец-то выспаться

35 выразительных фото про Россию в дикие 90-е

35 выразительных фото про Россию в дикие 90-е

Секунда за неделю работы: 10 фильмов XXI века с самой потрясающей картинкой

Секунда за неделю работы: 10 фильмов XXI века с самой потрясающей картинкой

Как выглядела Рига в 80-е

Как выглядела Рига в 80-е

Кот или круассан? 21 пара, после которой завтрак уже не будет прежним

Кот или круассан? 21 пара, после которой завтрак уже не будет прежним