TypeScript Дополнительная функция в интерфейсе Возможно ли создать интерфейс в TypeScript с дополнительной функцией? interface IElement { name: string; options: any; type: string; value?: string; validation(any): boolean; --> should be optional. } Ответ 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;
Ответ 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;