Если бы вы хотели двухпараметрический конструктор, он бы выглядел так:
бразец из официальной документации Typescript для универсальной фабрики. В этом примере конструктор не принимает параметры.
function create<T>(c: {new(): T; }): T {
return new c();
}
Как я могу переписать это так, чтобы в дополнение к типу метод фабрики принимал другие параметры и передавал их, когда он вызывает конструктор класса, для которого он создается? Таким образом, выражение return будет выглядеть примерно так:
return c(p1, p2);
Что-то, что мне не было понятно, это то, что это
{new(): T; }
фактически является интерфейсом, поскольку он определяет условия оценки совместимости предлагаемого класса, а также декларирует подпись конструктора. Я собираюсь ответить на свой вопрос.