У меня есть импорт интерфейса под названием IFoo
interface IFoo {
name: string;
version: number;
init: (arg1: string, arg2: number) => Promise<string[]>;
}
Все, что меня волнует, это тип init
. Есть ли способ извлечь его, чтобы я мог использовать этот интерфейс в другом месте? т.е.
inteface ICustom {
properties: {
group: string,
init: IFoo.init
}
amount: number
}
typeof IFoo.init
допустим только в том случае, если существует значение с именем IFoo
, но это не так.
Вы можете использовать индексированный тип доступа:
interface IFoo {
name: string;
version: number;
init: (arg1: string, arg2: number) => Promise<string[]>;
}
interface ICustom {
properties: {
group: string,
init: IFoo["init"]
}
amount: number
}
Просто любопытство достать «прямо из конского рта». Какова правильная терминология «индексированный тип доступа», «запрос типа» или «запрос типа индекса»? Я почти уверен, что видел, как все они использовались, но какой из них является официальным?
init: typeof IFoo.init