@laravel_creative_3103

В TypeScript есть такой синтаксис, как Generic, в Generic прописан таким образом, как его можно правильно прочитать?

function createdAt<T extends {new (...args: any[]) : {}}>(constructor: T){
	return class extends constructor {
		createdAt = new Date()
	}
}


после названия функции идет Generic
<T extends {new (...args: []): {}}>
как это Generic можно правильно прочитать?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
@HungryGrizzzly
Сумасшедший кросс
Если я правильно понял, то этот дженерик может быть только конструктором какого либо класса, то есть функция первым аргументом принимает именно класс.
function createdAt<T extends {new (...args: any[]) : {}}>(constructor: T){
  return class extends constructor {
    createdAt = new Date()
  }
}

class A {
    constructor() {

    }
}

createdAt(A);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы