Не обязательные индексные сигнатуры

Пытаюсь определить тип функции с не обязательными свойствами того же типа, что и возвращаемое значение

type MyFunction<T> = {
    (): T;
    [key: string | symbol]: T;
};

При попытке его использовать

let test: MyFunction<number> = () => 15;

TS выдает ошибку

Type '() => number' is not assignable to type 'MyFunction'. Index signature for type 'string' is missing in type '() => number'.

Как обозначить, что эти свойства не обязательные?


Ответы (0 шт):