Ответ 1
В настоящее время существует три синтаксиса, которые TypeScript допускает объявления функций в интерфейсах:
Используя ваш пример функции validation
, принимающей 1 параметр (из any
type) и возвращаемое значение boolean
:
validation: {(flag: any): boolean};
или в новом синтаксисе:
validation(flag: any) : boolean;
или альтернатива:
validation: (flag: any) => boolean;
Решение:
поэтому сделать его необязательным со старым синтаксисом легко:
validation?: {(flag: any): boolean};
со вторым синтаксисом (последнее добавление - благодаря @toothbrush
)
validation?(flag: any) : boolean;
или в третьем синтаксисе (как вы нашли):
validation?: (flag: any) => boolean;