type - это простой способ обращения к различным свойствам и функциям, которые имеют значение. Они используются для анализа нашего кода на предмет ошибок.

В TypeScript мы можем указывать у переменной нужный нам тип данных с помощью : type после объявления переменной. Это называется объявлением типа, или подписью типа.

Например:

let id: number = 5;
let firstname: string = 'Денис';
let hasDog: boolean = true;
let unit: number; // Объявление переменной без присваивания значения
unit = 5;

Однако в большинстве случаев, лучше не указывать тип явно, так как TypeScript автоматически присваивает тип переменной (вывод типа).

let id = 5; // TS знает, что это число
let firstname = 'danny'; // TS знает, что это строка
let hasDog = true; // TS знает, что это логическое значение
hasDog = 'yes'; // ERROR - TS выдаст ошибку

Также мы можем задать переменной объединенное значение.  Объединенный тип - это переменная, которой можно присвоить более одного типа.

let age: string | number;
age = 26;
age = '26';

В TypeScript есть несколько типов данных (типы данных, которые представлены в JS не будут повторяться в этом списке):

  1. any: тип данных, который может принимать значения любого типа. Использование any обычно не рекомендуется, так как это уменьшает безопасность типов.
  2. void: тип данных, который обозначает отсутствие значения. Он используется для обозначения функций, которые не возвращают значения.
  3. tuple: тип данных, который представляет кортежи, то есть массивы с фиксированным числом элементов и известными типами.
  4. enum: тип данных, который позволяет создавать наборы именованных констант.
  5. never: тип данных, который обозначает недостижимость кода в функции. Он используется для функций, которые не завершаются нормально или генерируют исключения.
  6. unknown: тип данных, который похож на any, но более безопасен, так как TypeScript требует явного приведения типов перед использованием значения типа unknown.
  7. unionTypes: тип данных, который позволяет объединить несколько типов данных, чтобы переменная могла принимать значения любого из этих типов.
  8. intersectionTypes: тип данных, который позволяет объединить два или более типов данных в один тип, который содержит свойства и методы из всех этих типов.

type-annotations (аннотация типов) - код, который мы добавляем для typescript , чтобы он понял, значения какого типа будут содержаться в переменной. type-inference (вывод типов) - typescript пытается сам определить, значения какого типа будут содержаться в переменной.


Назад