Ответ
T extends и T = используются в TypeScript для разных целей:
T extends- ограничивает типTопределенными условиями (constraint). Например:
function logLength<T extends { length: number }>(arg: T): void {
console.log(arg.length);
}
Здесь T может быть только типом, у которого есть свойство length типа number.
T =- задает значение по умолчанию для generic-параметра:
interface Box<T = string> {
value: T;
}
const box: Box = { value: "default" }; // T становится string
Ключевые отличия:
extendsограничивает возможные типы=устанавливает тип по умолчанию, если тип не указан явно