Тема в справке по TypeScript — Generic parameter defaults. Чем является T?

В TypeScript, T является общим параметром и используется для задания типа переменной, функции или класса. Общие параметры позволяют создавать гибкие и переиспользуемые конструкции кода.

В контексте Generic parameter defaults, T может быть предоставленым конкретным типом, но также может иметь значение по умолчанию. Значение по умолчанию задается с помощью оператора "=" после имени параметра.

Рассмотрим пример:

function printValue<T = string>(value: T): void {
  console.log(value);
}

printValue("Hello"); // Выводит: Hello
printValue<number>(5); // Выводит: 5 

printValue(); // Ошибка компиляции: тип T должен быть определен

В данном примере функция printValue принимает аргумент value с типом T, который по умолчанию является строкой (string). Однако, при вызове функции, мы можем явно указать другой тип, например, число.

Обратите внимание, если мы вызываем функцию без передачи аргумента, то компилятор TypeScript выдаст ошибку, так как тип T должен быть определен. В таком случае, нам нужно явно указать тип или предоставить значение по умолчанию.

Использование общих параметров с значением по умолчанию позволяет нам создавать более гибкий и переиспользуемый код, так как позволяет задавать значения параметров на этапе использования, не заботясь о проблемах с типами данных или их отсутствием. Это особенно полезно при работе с коллекциями элементов, обобщенных алгоритмах или при разработке библиотек.