Учебник по TypeScript

TypeScript — это надмножество JavaScript, поддерживающее стандарт ECMAScript 6 (Учебник по ES6)。
TypeScript — это бесплатный язык программирования с открытым исходным кодом, разработанный Microsoft. Это надмножество, которое добавляет статическую проверку типов поверх JavaScript.
TypeScript предназначен для разработки крупномасштабных приложений. Его можно скомпилировать в чистый JavaScript, и скомпилированный JavaScript может выполняться в любом браузере.
Почему стоит выбрать TypeScript
TypeScript — это язык программирования с открытым исходным кодом, разработанный Microsoft. Он является надмножеством JavaScript.
TypeScript значительно улучшает процесс разработки на JavaScript, добавляя такие возможности, как необязательные статические типы, интерфейсы и перечисления.
Основные преимущества TypeScript
- Статическая проверка типов:Обнаружение ошибок типов во время компиляции, что снижает количество ошибок времени выполнения
- Мощная поддержка IDE:Интеллектуальное автодополнение кода, навигация и рефакторинг
- Лучшая читаемость кода:Типы сами по себе являются лучшей документацией
- Современные возможности JavaScript:Поддерживает синтаксис ES6+, такой как стрелочные функции, модули, классы и т. д.
- Постепенная миграция:Позволяет постепенно переносить существующие проекты JavaScript на TypeScript
Как работает TypeScript
TypeScript не может выполняться напрямую в браузере; сначала его нужно скомпилировать в JavaScript. Этот процесс компиляции проверяет наличие ошибок типов и преобразует специфичный для TypeScript синтаксис в чистый JavaScript.
SVG-диаграмма: Процесс компиляции TypeScriptКомпилятор TypeScript (tsc) выполняет проверку типов в процессе компиляции. Если обнаружены ошибки типов, он сообщает об ошибке и останавливает компиляцию. После успешной компиляции он генерирует чистый код JavaScript, который может выполняться в любом браузере или среде Node.js.
Возможности языка
TypeScript — это расширение JavaScript с усиленной типизацией. Сохраняя совместимость с исходным синтаксисом, он вводит более строгую систему типов и инженерные возможности.
Основные возможности расширения (специфичные для TypeScript)
| Характеристика | Описание |
|---|---|
| Аннотации типов и проверка во время компиляции | Обнаружение ошибок типов во время разработки, что повышает надёжность кода |
| Вывод типов | Не нужно явно объявлять типы; компилятор может выводить их автоматически |
| Стирание типов | Удаление информации о типах после компиляции с выводом чистого JavaScript |
| Интерфейс | Используется для определения структур объектов, усиливая ограничения кода |
| Перечисления | Предоставляет набор именованных констант, улучшая читаемость |
| Обобщения | Поддерживает повторное использование типов, повышая гибкость функций и классов |
| Миксин | Реализует паттерн композиции для множественного наследования |
| Пространство имён | Организует структуру кода (старый подход, сейчас чаще используются модули) |
| Tuple | Массивы фиксированной длины с разными типами |
| Асинхронность (Await) | Обеспечивает более интуитивное управление асинхронным потоком |
Поддержка синтаксиса ES2015 (обратная совместимость)
TypeScript также поддерживает и компилирует основные возможности ECMAScript 2015:
| Характеристика | Описание |
|---|---|
| Класс | Поддержка объектно-ориентированного программирования |
| Модуль | Поддерживает модульную разработку (import/export) |
| Стрелочные функции (=>) | Более краткий синтаксис функций, привязка лексической области видимости |
| Необязательные параметры | Параметры функции можно опускать |
| Параметры по умолчанию | Предоставляет значения по умолчанию для параметров |
Различия между JavaScript и TypeScript
TypeScript — это надмножество JavaScript. Он расширяет синтаксис JavaScript, поэтому существующий код JavaScript может работать с TypeScript без каких-либо изменений. TypeScript обеспечивает статическую проверку типов на этапе компиляции с помощью аннотаций типов.
TypeScript может обрабатывать существующий код JavaScript и компилирует только код TypeScript внутри него.
Первый пример на TypeScript
В следующем примере мы используем TypeScript, чтобы вывести Hello World!:
Другие расширения