Простое введение в Typescript

Краткое введение в некоторые концепции Typescript

Компилятор TypeScript

Компилятор TypeScript — это программа JavaScript, которая преобразует код TypeScript в обычный код JavaScript. Он написан на TypeScript и может работать на любой платформе, поддерживающей JavaScript. Компилятор TypeScript имеет открытый исходный код и доступен на GitHub. Компилятор разработан и поддерживается Microsoft, и его можно использовать из командной строки или в качестве подключаемого модуля для популярных IDE, таких как Visual Studio и WebStorm.

Компилятор TypeScript может создавать код JavaScript, совместимый с различными средами выполнения JavaScript, такими как Node.js, Internet Explorer и Chrome. Он также может генерировать исходные карты, которые сопоставляют сгенерированный код JavaScript с кодом TypeScript. Это позволяет отлаживать код TypeScript в браузере.

Компилятор может быть настроен на проверку ошибок типов и будет сообщать об ошибках, если таковые будут найдены. При желании проверку типов можно отключить. Компилятор TypeScript доступен по лицензии с открытым исходным кодом Apache 2.0.

Не строго типизированный язык

Typescript не является строго типизированным языком, потому что он не требует, чтобы переменные объявлялись с определенным типом. Это означает, что переменная может быть объявлена как один тип, а затем переназначена значению другого типа. Это может привести к ошибкам, если переменная используется способом, несовместимым с типом, для которого она была объявлена.

Базовый пример, иллюстрирующий эту характеристику, может быть показан с типом «любой».

// We initialze the variable as a string.
const something: any = "Tom";

// Now it's a number. This is valid TypeScript code.
something = 42;

Компиляция TypeScript в JavaScript

Компилятор TypeScript берет код TypeScript и преобразует его в обычный код JavaScript. Этот процесс известен как транспиляция. Компилятор сначала анализирует код TypeScript, который проверяет наличие синтаксических ошибок. Если ошибок не обнаружено, компилятор проверяет наличие ошибок типа. Если будут обнаружены какие-либо ошибки типа, компилятор сообщит о них и завершит работу.

Если ошибок типа не обнаружено, компилятор продолжит работу и выдаст код JavaScript. Сгенерированный код JavaScript будет совместим с указанной целевой средой выполнения JavaScript.

Компилятор TypeScript также может генерировать исходные карты, которые сопоставляют сгенерированный код JavaScript обратно с кодом TypeScript. Это позволяет отлаживать код TypeScript в браузере.

Языковой сервер TypeScript

Языковой сервер TypeScript — это языковой сервер, предоставляющий такие функции, как завершение кода, переход к определению и проверка типов для проектов TypeScript.

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

Шаги для создания проекта TypeScript

Прежде чем описывать шаги, вот команда для инициализации проекта TypeScript в вашем терминале.

npx tsc --init

Описание: Установите компилятор TypeScript. Создайте файл tsconfig.json в корне проекта. Этот файл содержит параметры компилятора для компилятора TypeScript. Добавьте каталог src в файл tsconfig.json. Здесь будут находиться исходные файлы TypeScript.

Добавьте файл main.ts в каталог src. Это точка входа для программы TypeScript. Скомпилируйте код TypeScript, запустив tsc из командной строки. Это создаст файлы JavaScript в каталоге src. Запустите программу TypeScript, запустив node main.js из командной строки.

Различия между TypeScript и JavaScript

Между TypeScript и другими строго типизированными языками есть несколько ключевых отличий: TypeScript — это надмножество JavaScript, что означает, что любой допустимый код JavaScript также является допустимым кодом TypeScript. Это упрощает внедрение для существующих проектов JavaScript.

TypeScript использует необязательную систему типов, что означает, что типы могут быть указаны для переменных, но это не обязательно. Другие строго типизированные языки, такие как Swift и Kotlin, используют обязательную систему типов, которая требует, чтобы все переменные были объявлены с определенным типом.

TypeScript поддерживает дженерики, что позволяет создавать безопасные для типов коллекции и другие структуры данных. Это недоступно в JavaScript.

Когда мне следует использовать Javascript вместо Typescript для кодирования?

Не существует жесткого правила, когда использовать JavaScript или TypeScript. Разработчик должен выбрать правильный инструмент для работы. Тем не менее, есть несколько общих рекомендаций, которым можно следовать.

Если проект уже написан на JavaScript, обычно лучше продолжать использовать JavaScript. Нет необходимости преобразовывать код в TypeScript только ради использования TypeScript. Но имейте в виду, что поддерживать JavaScript-проект может быть сложнее из-за отсутствия системы типов, что приводит к скрытым ошибкам. Поэтому лучше рассмотреть возможность использования TypeScript, если проект будет поддерживаться (и расширяться) в будущем.

Если проект начинается с нуля, обычно лучше всего использовать TypeScript. Это позволит лучше организовать код и поддерживать его в долгосрочной перспективе.

Простые примеры

// TypeScript.
class Person {
  name: string;
  age: number;
}

const person: Person = new Person();
const person.name = "Tom";
const person.age = 42;

// JavaScript.
var Person = function() {};
Person.prototype.name = "";
Person.prototype.age = 0;

// TypeScript.
// Here's we're also using the class, but this
// time conforming to an interface, something that
// doesn't exist in JavaScript.
interface IPerson {
  name: string;
  age: number;
}

class Person implements IPerson {
  name: string;
  age: number;
}

// JavaScript.
var IPerson = function() {};
IPerson.prototype.name = "";
IPerson.prototype.age = 0;

var Person = function() {};
Person.prototype = Object.create(IPerson);

Заключительные слова

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

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

Предложения

Связанные

Приложение

Языки