Первая программа на TypeScript

Назад | Учебник TypeScript | Вперёд

Буду изучать TypeScript по официальной документации. Заодно напишу русский перевод.

Для начала нам нужно установить TypeScript. Предполагается, что вы уже знакомы с npm и умеете им пользоваться.  Также предполагается, что вы уже освоили учебник HTML и учебник JavaScript. Для установки нужно выполнить команду:

Этой командой мы установили TypeScript с помощью npm глобально. Создадим файл «greeter.ts»:

Мы создали файл с расширением «.ts», но на самом деле это обычный JavaScript код. При желании мы могли скопипастить его с существующего приложения.

Скомпилируем наш файл:

В результате мы получим файл «greeter.js» с тем же самым содержимым. Любой код JavaScript является корректным кодом TypeScript. Всё. Мы написали наше первое приложение на TypeScript.

Теперь добавим в код полезных штук из TypeScript. Для начала укажем, что параметр типа string:

Для проверки, что переданные аргументы проверяются на совпадение с указанным типом передадим в функцию массив:

При компиляции с помощью tsc вы увидите ошибку:

Несмотря на ошибку файл JavaScript всё равно создаётся, но зато мы сразу видим, что с кодом что-то не так.

Теперь добавим в наш код интерфейсы. В TypeScript объекты считаются совместимыми, если они имеют совместимую внутреннюю структуру. Это позволяет не использовать ключевое слово implements:

Теперь добавим туда класс с помощью ключевого слова class и объявим один конструктор. Ключевые слова public у конструктора автоматически создают свойства с указанными именами:

Скомпилируйте этот код и посмотрите, что получилось в JavaScript-е. Вы увидите самое обычное прототипное ООП. Классы TypeScript — это всего лишь более классический способ создания классов для ООП, который при компиляции превращается в обычное прототипное ООП.

Теперь создадим файл «greeter.html» и запустим наш код:

Откройте его в браузере и посмотрите на результат.

Назад | Учебник TypeScript | Вперёд

Один комментарий к “Первая программа на TypeScript”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *