Перейти к основному содержимому

Введение в TypeScript

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

  1. Из-за интерпретируемости языка узнать об ошибке можно только после выполнения кода
  2. Сложность использования практик объектно-ориентированного программирования
  3. Динамическая типизация

Для решения таких проблем был создан язык программирования TypeScript.

TypeScript#

TypeScript - язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript. TypeScript является обратно совместимым с JavaScript и компилируется в последний. Фактически, после компиляции программу на TypeScript можно выполнять в любом современном браузере или использовать совместно с серверной платформой Node.js. Код на TypeScript выглядит почти так же, как и код на JS, и, если у вас есть опыт frontend-разработки, изучить TypeScript достаточно просто. Особенно учитывая, что вы можете писать JS-код прямо в TS-скриптах.

История#

Развитие TypeScript началось в конце 2012 года. Хотя он зародился в компании Microsoft, и его фактическим создателем является программист Андерс Хейлсберг, так же известный как создатель таких языков как Delphi, C#, но данный проект сразу стал развиваться как OpenSource. И уже с самого начала новый язык стал быстро распространяться в силу своей гибкости и производительности. Немало проектов, которые были написаны на JavaScript, стали переноситься на TypeScript. Популярность и актуальность идей нового языка привела к тому, что ряд из этих идей в последующем станут частью нового стандарта JavaScript. А новая версия одного из популярнейших фреймворков для Web - Angular 2/4/5/6 полностью написана на TypeScript совместно компаниями Microsoft и Google.

History

Преимущества TypeScript#

TypeScript приносит множество удобств в мир JavaScript, рассмотрим основные его возможности.

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

TypeScript - это строго типизированный и компилируемый язык программирования. JavaScript - динамически типизированный. Строгая типизация - это один из вариантов политики работы с типами данных, под собой подразумевает выполнение следующих условий:

  • Объект данных всегда имеет строго определенный тип
  • Переменной может присвоится только строго тот же тип данных, что и переменная
  • Операции требуют параметры строго определенных типов
  • Неявное преобразование типов не допускается

Пример JavaScript:

Интерактивный редактор
Результат
SyntaxError: Unexpected token (1:8)
1 : return ()
            ^

Переменная fruit может быть, как строкой, так числом или функцией. Ошибки не возникает. В строго типизированном языке такой код не пройдёт компиляции.

Пример TypeScript

let fruit: string = 'kiwi'
fruit = 777
console.log(fruit)

Синтаксис :string перед fruit означает, что переменной назначается тип string. В следующей строке мы ей присваиваем число, что недопустимо.

Компиляция#

Одна из неприятностей которую можно встретить при разработке на JavaScript — это опечатка или случайное переопределение глобальной переменной. Что можно обнаружить только на этапе выполнения программы. И это явно не экономит время разработки.

TypeScript при компиляции проверяет код на ошибки, что очевидно ускорит выявление подобных неприятностей.

Error

Оплата#

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

Качай наше мобильное приложение или пройди тестирование в нашем JavaScript телеграм боте, а также подпишись на наши новости.

Sumerian school

Contributors ✨#

Thanks goes to these wonderful people (emoji key):


IIo3iTiv

📖

Dmitriy Vasilev

💵

Become a Patron!