1. Введение в TypeScript: установка окружения и базовые типы данных
Введение в TypeScript: установка окружения и базовые типы данных
Добро пожаловать на курс «Основы программирования на TypeScript». Мы начинаем наше путешествие в мир современной веб-разработки с языка, который стал стандартом индустрии для крупных и надежных проектов. В этой первой статье мы разберем, что такое TypeScript, зачем он нужен, как подготовить компьютер к работе и изучим фундамент языка — базовые типы данных.
Что такое TypeScript и зачем он нужен?
TypeScript (часто сокращают как TS) — это язык программирования, разработанный компанией Microsoft. Главное, что нужно запомнить: TypeScript — это надмножество JavaScript.
Это означает, что любой валидный код на JavaScript (JS) также является валидным кодом на TypeScript. Однако TS добавляет поверх JS новые возможности, главной из которых является статическая типизация.
!TypeScript включает в себя все возможности JavaScript, расширяя их дополнительными инструментами.
Проблема JavaScript
JavaScript — язык с динамической типизацией. Это значит, что переменная, которая только что хранила число, через секунду может начать хранить строку, и интерпретатор не увидит в этом проблемы до момента запуска кода. Это часто приводит к ошибкам, которые обнаруживаются уже пользователями в работающем приложении.
Решение TypeScript
TypeScript позволяет явно указывать, какие данные мы ожидаем. Если вы попытаетесь сложить число со строкой или передать объект неправильной формы в функцию, TypeScript сообщит об ошибке на этапе написания кода, еще до того, как вы его запустите. Это значительно экономит время и нервы разработчиков.
> TypeScript не исполняется браузером напрямую. Он транспилируется (компилируется) в обычный JavaScript, который уже понятен браузерам и Node.js.
Установка окружения
Чтобы начать писать на TypeScript, нам понадобятся два инструмента:
Шаг 1: Установка Node.js
Если у вас еще не установлен Node.js, скачайте LTS-версию с официального сайта и установите её. Чтобы проверить, что установка прошла успешно, откройте терминал (командную строку) и введите:
Вы должны увидеть версии установленных программ.
Шаг 2: Установка TypeScript
Мы установим TypeScript глобально, чтобы иметь доступ к нему из любой папки на компьютере. Введите в терминале следующую команду:
После завершения установки проверьте версию компилятора:
Команда tsc расшифровывается как TypeScript Compiler.
Ваша первая программа
Давайте создадим простейшую программу, чтобы понять процесс работы.
hello.ts. Обратите внимание на расширение .ts.Здесь мы видим первое отличие от JS: после названия переменной message мы поставили двоеточие и указали тип string (строка).
hello.js. Если вы откроете его, то увидите обычный JavaScript код (часто без указания типов, так как JS их не поддерживает).В консоли вы увидите: Привет, мир TypeScript!.
Базовые типы данных
Система типов — это сердце TypeScript. Давайте разберем основные примитивы, с которыми вы будете работать каждый день. Синтаксис объявления типа выглядит так:
Boolean (Логический тип)
Самый простой тип данных, который имеет всего два значения: true (истина) или false (ложь).
Number (Число)
В TypeScript, как и в JavaScript, все числа являются числами с плавающей точкой. Тип number используется и для целых чисел, и для дробных.
String (Строка)
Для работы с текстовыми данными используется тип string. Можно использовать двойные кавычки ", одинарные ' или обратные кавычки ` ` для шаблонов.
Array (Массив)
Массивы можно типизировать двумя способами. Результат абсолютно одинаковый, выбор зависит от стиля вашей команды.
Способ 1: Использование типа элемента, за которым следуют квадратные скобки [].
Способ 2: Использование обобщенного типа (Generics) Array<type>.
Если вы попытаетесь добавить строку в такой массив, TypeScript выдаст ошибку.
Tuple (Кортеж)
Иногда нам нужно создать массив с фиксированным количеством элементов, типы которых известны, но не обязательно одинаковы. Такая структура называется Кортеж.
Например, мы хотим хранить пару «имя пользователя» (строка) и «возраст» (число):
!Кортеж (Tuple) строго определяет порядок и типы данных в массиве фиксированной длины.
Any (Любой тип)
Иногда мы не знаем, какой тип данных придет (например, от сторонней библиотеки или от пользователя). В таких случаях можно использовать тип any.
Важно: Старайтесь избегать использования any. Используя его, вы отключаете проверку типов для этой переменной, по сути возвращаясь к обычному JavaScript. Злоупотребление any` лишает смысла использование TypeScript.
Void, Null и Undefined
* Void обычно используется как возвращаемый тип функций, которые ничего не возвращают. * Null и Undefined соответствуют своим аналогам из JavaScript. Сами по себе они редко используются как типы переменных, но часто участвуют в объединениях типов (о которых мы поговорим в следующих статьях).
Вывод типов (Type Inference)
TypeScript достаточно умен. Во многих случаях вам не нужно явно указывать тип — компилятор сам поймет его по значению, которое вы присваиваете.
Это называется выводом типов. Хорошей практикой считается позволять TypeScript самому выводить типы там, где это очевидно, чтобы код оставался чистым и читаемым.
Заключение
Сегодня мы заложили фундамент для изучения TypeScript. Мы установили окружение, написали первую программу и разобрали базовые кирпичики данных. Главное преимущество, которое вы получили уже сейчас — это безопасность. TypeScript страхует вас от глупых ошибок, связанных с типами данных.
В следующей статье мы углубимся в более сложные структуры, такие как интерфейсы и объекты, и узнаем, как описывать формы данных в реальных приложениях.