Написать пост

Почему вы должны писать на TypeScript в 2023 году

Аватарка пользователя Кай Голдман

Разбираемся, почему TypeScript стал одним из самых популярных языков программирования в 2023 году, и в чём его преимущества.

Обложка поста Почему вы должны писать на TypeScript в 2023 году

TypeScript — то же самое, что и JavaScript, но переменные не могут менять типы.

  • Цель создания TypeScript — сделать JavaScript лучше. TypeScript добавляет в JavaScript типы, позволяя явно задавать их для всех структур данных. Это увеличивает читаемость кода и уменьшает количество ошибок в финальной сборке приложения.
  • Еще у TypeScript есть компилятор (транспайлер), который проверяет код на ошибки и помогает их исправить до выхода в продакшен.
  • TypeScript использует последние возможности JavaScript, которые поддерживают не все браузеры. Но при этом в TypeScript можно безопасно использовать весь потенциал JavaScript, не переживая за совместимость: в результате код будет скомпилирован в максимально совместимый со всеми браузерами JavaScript.
  • TypeScript легко начать применять в существующем проекте на JavaScript, постепенно обновляя старый код. Это позволяет легко перенести код на TypeScript, не уходя в затяжной рефакторинг. Такая опция критически важна в продуктовых командах, которые постоянно балансируют между выпуском новых фич и рефакторингом старого кода.

С момента разработки TypeScript активно развивался, сегодня это один из самых популярных языков программирования. По данным опроса сообщества StackOverflow в 2022 году, TypeScript занимает 3 место в рейтинге самых любимых языков программирований.

В этой небольшой статье я хотел бы изложить основные особенности и преимущества TypeScript.

Как установить и настроить TypeScript

Часто, фреймворки уже имеют поддержку шаблона на базе TypeScript, однако бывают случаи, когда мы начинаем разработку с чистого листа, в таком случае вам понадобится Node.js. После чего вам необходимо установить соответствующий npm пакет с помощью команды:

			npm install -g typescript
		

Дальше для компиляции кода на языке TypeScript в JavaScript необходимо использовать префикс tsc, например:

			tsc my-first-typescript-app.ts
		

После чего код из файла my-first-typescript-app.ts компилируется в файл формата JavaScript. Важно, что любой код TypeScript в любом случае компилируется в JavaScript.

Как работает TypeScript

Типы переменных

При объявлении переменной можно явно указать её тип. В ином случае TypeScript сам узнает тип из значения.

			const value: string = "Данила вещает...";
const value = "Данила вещает...";
		

Массивы

Так же, как и для переменных, TypeScript позволяет объявить типы для массивов.

			const array: string[] = ['A', 'B', 'C']
		

Объекты

TypeScript может вывести тип объекта из значений его полей.

			const user: {
  id: number;
  name: string;
  role: 'student' | 'teacher';
  password: string;
} = {
  id: 1,
  name: 'Данила',
  role: 'teacher',
  password: 'Frontend'
}
		

Типы и интерфейсы

В TypeScript мы можем выносить типизацию отдельно с помощью type и interface

			type RoleType = 'student' | 'teacher';

interface UserType {
  id: number;
  name: string;
  role: RoleType;
  password: string;
}

const user: UserType = {
  id: 1,
  name: 'Данила',
  role: 'teacher',
  password: 'Frontend'
}
		

Функции

TypeScript умеет типизировать передаваемые в функцию значения, а так же ответ функции.

			const multiplication = (a: number, b: number): number => {
  return a * b;
}
		

Дженерики

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

			const convert = <T>(value: T): Array<T> => {
  return [value];
}

convert<string>('Данила вещает...'); // [ 'Данила вещает...' ]
// За место T в функции convert подставился тип 'string'
		

Enum

Enum в TypeScript, это что-то на подобии объекта с константами. В нем мы можем хранить элементы по образу ключ — значение. Если значение мы не зададим, к ключу будет привязан его индекс

			enum Roles {
  Student, // 0
  Teacher, // 1
}

// или

enum Roles {
  Student = 'student', // 'student'
  Teacher = 'teacher' // 'teacher'
}

interface UserType {
  id: number;
  name: string;
  role: Roles;
  password: string;
}

const user: UserType {
  id: 1,
  name: 'Данила',
  role: Roles.Student, // 'student'
  password: 'Frontend'
}
		

Завершение

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

TypeScript — активно развивающийся и популярный язык программирования, который стоил и стоит внимания в 2023 году.

В будущих статьях я покажу вам Best Practices, как правильно типизировать различные элементы на React, Redux Toolkit, NestJS и прочих поддерживаемых технологиях.

Спасибо за просмотр!

Следите за новыми постами
Следите за новыми постами по любимым темам
10К открытий10К показов