Ниже приведен общий пример машинописного текста, который я получил от typescriptlang.
function getProperty<Type, Key extends keyof Type>(obj: Type, key: Key) {
return obj[key];
}
let x = { a: 1, b: 2, c: 3, d: 4 };
getProperty(x, "a");
getProperty(x, "m");
Можно ли извлечь универсальный тип в переменную типа для его повторного использования? Пробовал, но выдает ошибку
type MyType<Type, Key extends keyof Type> = {obj: Type, key: Key}
let x = { a: 1, b: 2, c: 3, d: 4 };
function getPropertyGeneric(params: MyType<x>) {
return obj[key];
}
ошибка
Generic type 'MyType' requires 2 type argument(s).
Я немного смущен вашим вопросом... можете ли вы привести пример результата, который вы ищете?
@ExplosionPills Второй блок кода. Если я смогу извлечь общий тип в
MyType
. На самом деле я хотел этого, потому что я пытаюсь создать избыточный тип действия для аналогичного сценария. Мне нужно определить тип параметра как отдельный тип.